on 04-11-2016 4:53 AM
以Oracle数据库中的底表作为源创建的Universe如果数据中带有中文的话在WEBI里会显示乱码,这个该怎么解决,Oracle的字符集是ISO_8859
乱码问题有两种原因,一种是字符集问题,另一种是字体问题。
字符问题的话,首先得保证数据库自己本身不乱码。
Oracle的话,得从cmd命令里,用sqlplus登录Oracle,然后随便查一个中文的字段看是否乱码。
如果乱码,则解决之,一般的解决方案是找DBA把Oracle的系统参数改成支持中文的编码。
当然,为了图省事,可以直接改注册表。
如果改了这个设置,Oracle仍然乱码,则要考虑是操作系统不支持中文。
验证方法是,在cmd里执行chcp 936。如果操作系统不支持936这个编码,则不支持中文。
后台这边确保不乱码了之后,要检查前台浏览器的字符集是否跟后台的字符集兼容。
一般情况下,项目里后台使用的都是utf8码。
这些都确定后,再检查字体的问题。
不过看你这个情况,应该不是字体的问题。直接略过吧。
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
我查看了下,Oracle的数据库语言参数是AMERICAN_ANERICA.WE8ISO8859P1,想咨询下对于WEBI里显示数据的中文值在哪里设置字符集或者说怎么解决在PLSQL中读取出来是正常的中文,但是到了BO里就是乱码。
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
一般乱码的问题安装下面的方法去查:
1. 在BO server上用命令行模式启动sqlplus,在sqlplus中查询看看是不是乱码。
如果是乱码,应该是oracle客户端字符集设置有问题。
一定要在命令行中测。
2. 如果上面测试没有乱码,就有可能是BO这边的设置问题。有可能是字体或者是bo的字符集映射问题,请提供一个乱码的截图。
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.