-
缱绻 数据领袖Lv6
发表于2019-4-30 17:03
楼主
本帖最后由 缱绻 于 2019-5-5 17:32 编辑
一、乱码问题排查:
1、在系统管理-》系统诊断处查看sun.jnu.encoding及file.encoding的字符集是否是utf-8或者gbk;
设置方法:在启动应用服务器的JVM参数上中加上如下参数:
-Dfile.encoding=gbk -Dsun.jnu.encoding=gbk
2、在系统管理-》系统诊断处查看可用字体是否有“中文字体”。
如下图:
二、解决方案
与数据库字符集相关
遇到此问题时先使用select userenv('language') from dual获得对应数据库的字符集,然后将获得串中的字符集部分在jdbc.conf中赋值给characterEncoding参数,若是gbk或utf_8则无需指定参数。
1、mysql创建库时就要创建字符集为utf8编码的数据库;例如:
CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
2、jdbc链接中指定字符集:
Mysql:
url=jdbc:mysql://127.0.0.1/dbname?useUnicode=true&characterEncoding=utf8
oracle:
url=jdbc: oracle: thin: @127.0.0.1:1521:dbname
不需要指定字符集,支持中文字符集和英文字符集;
DB2:
url=jdbc:db2://127.0.0.1:50000/dbname
不需要指定字符集,由DB2服务器端的字符集决定;
SybaseIQ:
url=jdbc:sybase:Tds:127.0.0.1:2638/dbname?charset=utf8
3、添加中文字体文件
服务器中添加字体文件方法及中文字体文件见附件
服务器中增加字体文件.zip
(82.23 MB, 下载次数: )
一、乱码问题排查:
1、在系统管理-》系统诊断处查看sun.jnu.encoding及file.encoding的字符集是否是utf-8或者gbk;
设置方法:在启动应用服务器的JVM参数上中加上如下参数:
-Dfile.encoding=gbk -Dsun.jnu.encoding=gbk
2、在系统管理-》系统诊断处查看可用字体是否有“中文字体”。
如下图:
二、解决方案
与数据库字符集相关
遇到此问题时先使用select userenv('language') from dual获得对应数据库的字符集,然后将获得串中的字符集部分在jdbc.conf中赋值给characterEncoding参数,若是gbk或utf_8则无需指定参数。
1、mysql创建库时就要创建字符集为utf8编码的数据库;例如:
CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
2、jdbc链接中指定字符集:
Mysql:
url=jdbc:mysql://127.0.0.1/dbname?useUnicode=true&characterEncoding=utf8
oracle:
url=jdbc: oracle: thin: @127.0.0.1:1521:dbname
不需要指定字符集,支持中文字符集和英文字符集;
DB2:
url=jdbc:db2://127.0.0.1:50000/dbname
不需要指定字符集,由DB2服务器端的字符集决定;
SybaseIQ:
url=jdbc:sybase:Tds:127.0.0.1:2638/dbname?charset=utf8
3、添加中文字体文件
服务器中添加字体文件方法及中文字体文件见附件