原帖见http://hi.baidu.com/xmltiger/blog/item/f86ebdec72332f4878f05591.html 有所增加内容
java应用中经常会碰到中文生僻字的输入和输出,由于java内部编码是ucs-2,生僻字乱码主要发生在数据存储、数据处理过程和java报表展现中。
数据存储:
1、数据库:要求数据库字符集支持的汉字更多。
sybase:字符集使用cp936或gb18030;db2:字符集使用GBK,oracle:字符集使用ZHS16GBK
2、XML文件:内部编码采用gb18030
数据处理:
java在读写数据时主要依赖操作系统的locale,所以java程序运行环境要求的LANG环境变量为zh_CN.gb18030,在linux、aix、hp-ux上都有该字库,用locale -a命令查看是否安装,如果没有安装即可
java报表展现
设置字体时,要设置为宋体18030,客户端必须安装18030字体,否则在报表中无法显示