保存到数据库中的中文为“?”,急求解决方法,在线等!!!

unlimitedsaga 2011-07-08 04:09:26
同一个数据库,在32位和64位的windows2003下各部署了同一个消息队列,在32位机器下获取并处理消息队列无任何异常,在64位机器下保存到数据库中的中文为“?”,求解决方法
...全文
169 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
不訴離傷 2011-07-18
  • 打赏
  • 举报
回复
你之前應該用UTF8類型的,我也遇到這樣,是台灣的客戶,還是多語言的,最早沒注意用UTF8,所以個別字會出現亂碼。
huangdh12 2011-07-17
  • 打赏
  • 举报
回复
在linux下面一切按照默认,然后也碰到类似乱码问题,纠结中。
灰哥 2011-07-17
  • 打赏
  • 举报
回复
查看数据库字符集: select * from sys.props$ where name='NLS_CHARACTERSET';

修改数据库字符集:

shutdown immediate;
startup mount exclusive;
alter system enable restricted session ;
alter system set job_queue_processes = 0;
alter system set aq_tm_processes =0;
alter database open;
alter database national character set AL16UTF16 ;
如果报错则更改成:ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE AL16UTF16;
alter database character set zhs16GBK ;
如果报错则更改成: ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK ;
shutdown immediate ;
startup
如果错误信息,请对照一下信息
如果提示:
ORA_12717 :Cannot issue ALTER DATABASE NATIONAL CHARACTER SET when NCLOB,NCHAR or NVARCHAR2 data exists
则改成以下语句:
alter database national character set INTERNAL_USE AL16UTF16 ;
如果提示:
ORA-12712 :new character set must be a superset of old character set ;
则更改使用以下语句:
alter database CHARACTER SET INTERNAL_USE ZHS16GBK;
如果提示:
ORA-12721: operation cannot execult where other sessions are active
则更改使用以下语句:
shutdown immediate;
startup mount exclusive ;
如果提示:
ORA-01109:database not open
则使用以下语句:
alter database open ;
如果提示:
ORA-12719:operation requires database is in restricted mode ;
则使用以下语句
alter system enable restricted session ;
iqlife 2011-07-09
  • 打赏
  • 举报
回复
操作系统字符集问题?操作系统是中文的、
秋雨飘落 2011-07-09
  • 打赏
  • 举报
回复
检查数据库的字符集,是否是中文字符集

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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