乱码问题

3912
3

缱绻 数据领袖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, 下载次数: )


最近看过此主题的会员

leiz

houyunfei

愿你似阳光

wxw

Yongdabi

esen_4Y3L5ADO80

曦文

养蚯蚓吃沙漠

esen_4XMY0N6IMU

ajsdhkjfhdasf

零伍

3个回答

只看楼主

大哥很IT 数据老手Lv5

发表于2019-4-30 18:31

只看该作者

取消 关注该作者的回复

沙发

学习了,感谢分享~

韦韬然 数据老手Lv5

发表于2019-4-30 19:57

只看该作者

取消 关注该作者的回复

板凳

虽然没遇上乱码~不过学习了~

malin 初学数据Lv2

发表于2021-3-19 18:24

只看该作者

取消 关注该作者的回复

5#

附件下载不下来啊

登录后可回答问题,请登录注册

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

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号