没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Java 字符编码转换过程说明
常见问题
JVM
JVM 启动后,JVM 会设置一些系统属性以表明 JVM 的缺省区域。
user.language,user.region,file.encoding 等。 可以使用
System.getProperties()详细查看所有的系统属性。
如在英文操作系统(如 UNIX)下,可以使用如下属性定义强制指定 JVM 为中文
环境 -Dclient.encoding.override=GBK -Dfile.encoding=GBK -
Duser.language=zh -Duser.region=CN
.java-->.class 编译
说明:一般 javac 根据当前 os 区域设置,自动决定源文件的编码.可以通过-
encoding 强制指定.
错误可能:
1 gbk 编码源文件在英文环境下编译,javac 不能正确转换.曾见于 java/jsp
在英文 unix 下. 检测方法:写\u4e00 格式的汉字,绕开 javac 编码,再在
jvm 中,将汉字作为 int 打印,看值是否相等;或直接以 UTF-8 编码打
开.class 文件,看看常量字符串是否正确保存汉字。
文件读写
外部数据如文件经过读写和转换两个步骤,转为 jvm 所使用字符。
InputStream/OutputStream 用于读写原始外部数据,Reader/Writer 执
行读写和转换两个步骤。
1 文件读写转换由 java.io.Reader/Writer 执行;输入输出流
InputStream/OutputStream 处理汉字不合适,应该首选使
用 Reader/Writer,如 FileReader/FileWriter。
2 FileReader/FileWriter 使用 JVM 当前编码读写文件.如果有其它编码
格式,使用 InputStreamReader/OutputStreamWriter
3 PrintStream 有点特殊,它自动使用 jvm 缺省编码进行转换。
读取.properties 文件
.propeties 文件由 Properties 类以 iso8859-1 编码读取,因此不能在其
中直接写汉字,需要使用 JDK 的 native2ascii 工具转换汉字为\uXXXX 格
式。命令行:native2ascii –encoding GBK inputfile outputfile
读取 XML 文件
1 XML 文件读写同于文件读写,但应注意确保 XML 头中声明如<? xml
version=”1.0” encoding=”gb2312” ?>与文件编码保持一致。
2 javax.xml.SAXParser 类接受 InputStream 作为输入参数,对于
Reader,需要用 org.xml.sax.InputSource 包装一下,再给
SAXParser。
剩余10页未读,继续阅读
资源评论
woshidswdsw
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功