LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1078|回复: 6

请教一个Java里的文字编码问题,拜托~~~~

[复制链接]
发表于 2005-10-20 15:30:07 | 显示全部楼层 |阅读模式
小弟是初次接触Java编程,更是初次在Linux下使用Java。碰上了头疼的字符编码问题,有几个地方不解,请达人指教。

1) 调用System.getProperty("file.encoding")函数时,它会返回一种编码的名字。请问它所返回的编码类型是根据什么定下的?是根据编译环境下的编码而定的吗?还是根据运行环境而定??不管是那种情况,如果编译和运行都是在Linux下,那么它的编码又是具体根据哪一个环境变量来决定的(还是根据那个环境配置文件的内容来定)?

2 )  将一个InputStream包装成一个InputStreamReader,如果没有指定字符编码,即:

     objInputStreamReader = new InputStreamReader(objInputStrem);    // objInputStream已被事例化

     根据JDK的文档中所说,这个过程中会采用“默认”编码,请问这个“默认”编码又是从何而来?是编译环境还是运行环境?

以上两个问题,拜托各位帮忙解答一下,谢谢~~~
发表于 2005-10-20 16:02:15 | 显示全部楼层
System.getProperty("file.encoding")从外部环境(java以外的)设定的.默认值就是这个。
一般自己设定一个编码方式,如UTF-8,而不是用默认的。
是运行环境,所以如果用默认值那么在不同环境下可能会有不同结果。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-20 16:08:09 | 显示全部楼层
Post by neoedmund
System.getProperty("file.encoding")从外部环境(java以外的)设定的.默认值就是这个。
一般自己设定一个编码方式,如UTF-8,而不是用默认的。
是运行环境,所以如果用默认值那么在不同环境下可能会有不同结果。


如果是运行环境,那么它的编码方式是根据当前运行环境下的什么设置来决定的(比如说是根据哪个环境变量)? 因为这个编码方式总不能是凭空生成的吧~~~
回复 支持 反对

使用道具 举报

发表于 2005-10-20 16:19:33 | 显示全部楼层
具体用法你自己决定吧。
设置方法:
java -Dfile.encoding=ENCODING_YOU_WANT ......
回复 支持 反对

使用道具 举报

发表于 2005-10-20 17:08:58 | 显示全部楼层
如果是运行环境,那么它的编码方式是根据当前运行环境下的什么设置来决定的(比如说是根据哪个环境变量)? 因为这个编码方式总不能是凭空生成的吧~~~
===============================================================
默认使用系统的 locale
回复 支持 反对

使用道具 举报

发表于 2005-10-25 09:48:32 | 显示全部楼层
准确的说,应该是当前shell的locale。:)。
回复 支持 反对

使用道具 举报

发表于 2005-10-25 10:33:25 | 显示全部楼层
对对:)呵呵。大意了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表