晕死, Flex, Ibatis, Oracle, 乱码....

fuyiyong 2009-08-17 12:23:03
Flex, Ibatis, Oracle...
自己测试的时候建的数据库什么字符集记不清了,反正一切正常.
现在系统发布了,新建一个数据库,用SQL看显示的字符集是一样的,为什么现在中文是乱码呢???

SELECT * FROM V$NLS_PARAMETERS;
Select userenv('language') from dual;

我看在连MySQL的时候可以加字符集的,如
jdbc.url=jdbc:mysql://61.152.182.249:3306/smp?useUnicode=true&characterEncoding=UTF-8

可连Oracle时候不能加!!!

各位大大们给支个招啊,要死人啦...
...全文
80 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
inthirties 2009-08-20
  • 打赏
  • 举报
回复
[Quote=引用楼主 fuyiyong 的回复:]
Flex, Ibatis, Oracle...
自己测试的时候建的数据库什么字符集记不清了,反正一切正常.
现在系统发布了,新建一个数据库,用SQL看显示的字符集是一样的,为什么现在中文是乱码呢???

SELECT * FROM V$NLS_PARAMETERS;
Select userenv('language') from dual;

我看在连MySQL的时候可以加字符集的,如
jdbc.url=jdbc:mysql://61.152.182.249:3306/smp?useUnicode=true&characterEncoding=UTF-8

可连Oracle时候不能加!!!

各位大大们给支个招啊,要死人啦...
[/Quote]

mysql的driver实现和oracle不一样,所以useUnicode=true&characterEncoding=UTF-8就只对mysql生效了。

主要和你的字符集编码有关了,如果你的数据是utf8编码,你需要修改oracle的数据库字符集和你的数据的编码一致才行。

你可以通过select userenv('language') from dual;
fuyiyong 2009-08-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 majy 的回复:]
你在自己的应用程序里加字符集进行转换
[/Quote]

老大,那要如何转?? Flex里转还是Java里转?? 是转SQL字符串还是转什么?每个地方都要转???
majy 2009-08-17
  • 打赏
  • 举报
回复
你在自己的应用程序里加字符集进行转换
fuyiyong 2009-08-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jinxino_o 的回复:]
SQL code
SQL>select*from nls_database_parameters
自己查一下数据库,看下字符集,然后更改客户端环境变量nls_lang和你库的对应
[/Quote]

PL/SQL刚开始也是乱码,我改了之后好了...

可是我现在程序里也是乱码啊,那要改哪里?
  • 打赏
  • 举报
回复

SQL> select * from nls_database_parameters

自己查一下数据库,看下字符集,然后更改客户端环境变量nls_lang和你库的对应

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧