1. 问题描述
把 FineReport 部署到 Web 服务器,预览时模板找不到数据连接,出现乱码,报错信息如下,或者使用其他软件例如:截图软件,中文选项也是乱码。这是什么原因导致的呢?
2. 报错原因
服务器上控制面板中的区域和语言选项>高级,在非unicode程序启动时匹配的语言选择的不是中文(中国),此时默认的编码方式就不是 GBK;与 Access 驱动程序那边的编码方式不一致;所以我们通过 JDBC 连接数据时会出现中文乱码的现象,读取不到的中文表名,字段名等。
3. 解决方案
在控制面板中区域和语言选项>高级中,选择相匹配的语言,因为 FineReport 使用的编码为GBK所以我们这边选择为中文(中国)。
常见的区域和语言选项中一些中文选项对应的默认字符集:
中文(中国) | GBK |
中文(新加波) | GBK |
中文(特别行政区) | MS950 |
中文(澳门特别行政区) | MS950 |
中文(中国台湾) | MS950 |