《技术帮助文档报表开发工具中mysql数据库连接编码转化失效解决方案》由会员分享,可在线阅读,更多相关《技术帮助文档报表开发工具中mysql数据库连接编码转化失效解决方案(2页珍藏版)》请在金锄头文库上搜索。
1、技术帮助文档报表开发工具中mysql数据库连接编码转化失效解决方案 报表开发工具中mysql数据库连接编码转化失效解决方案1.问题描述在报表开发工具FineReport中,mysql数据库连接通过数据连接编码转换进行编码的转换,在通过报表录入往数据库中录入中文数据的时候,总是出现乱码,这个该怎么解决呢?2.解决方案2.1检查系统的默认字体例如查看windows下C/window/fonts的字体样式,如下图如果没有以上字体,百度一下缺少字体自行安装,安装之后,已经包含以上的字体如果还是出现问题,则需要参看及修改MySQL字符集。 2.2参看及修改MySQL字符集?查看MySql字符集MySQL
2、字符集介绍:MySQL的字符集支持(Character SetSupport)有两个方面字符集(Character set)和排序方式(Collation)。 对于字符集的支持细化到四个层次服务器(server),数据库(database),数据表(table),连接(connection)。 查看默认字符集(默认情况下,mysql的字符集是latin1(ISO_8859_1)通常,查看系统的字符集和排序方式的设定可以通过下面的两条命令实现1.SHOW VARIABLESLIKEcharacter%;/查看字符集,如下图1.SHOW VARIABLESLIKEcollation_%;/查看排序
3、方式,如下图?修改MySql字符集方法一修改mysql的my.ini文件中的字符集键值。 1.default-character-set=utf82.character_set_server=utf8修改完后,重启mysql的服务,service mysqlrestart,使用1.mysqlSHOW VARIABLESLIKEcharacter%;查看,发现数据库编码均已改成utf8。 方法二使用sql命令1.SET character_set_client=utf8;2.SET character_set_connection=utf8;注character_set_connection,database,results,server这四个字符一致,就可以不出现乱码。 以上修改字符集的方法是windows系统下的,如果是linux系统,使用linux下面的方法即可,思路一样。 修改完成之后,通过1.show variableslikecharacter_set_%查看字符编码,修改完之后如果还是出现乱码问题。 则需要在设计器定义数据连接数修改。 2.3数据连接修改在定义数据连接增加URL的地方增加参数1.?useUnicode=true&characterEncoding=UTF-8,而不是通过定义数据连接窗口下面的编码转换进行设置,如下。 内容仅供参考