请教:本人 windows xp 英文OS, 控制面板区域与语言 都设置为中文, 输入法有英文键盘和微软拼音现有一Oracle数据库, 字符集为 UTF -8 , 存储有中文数据无论通过oracle客户端( sql plsu, pl/sql developer...) 还是通过应用程序去copy 数据库的中文,都得到以下结果:当copy前 输入法是 英文键盘, copy到其他地方 (notepad, excel ...) 就是 乱码,
当copy前 切换输入法是 微软拼音, copy到其他地方 (notepad, excel ...) 就可以正常显示,通过 vs2008 工具 查询
System.Text.Encoding.Default.EncodingName, 确认windows 默认字符集为GB2312,
难道 这个默认字符集会随着输入法的切换而变换?为何 window 在 英文键盘输入法下无法正确解释 UTF-8? 请高人指点

解决方案 »

  1.   

    数据库字符集引起的问题。--查看你数据库的字符集
     select userenv('language') from dual;修改数据库字符集:
    http://blog.csdn.net/tianlesoftware/archive/2009/12/02/4915223.aspx
      

  2.   

    服务器字符集是 AMERICAN_AMERICA.UTF8
    客户端字符集是 AMERICAN_AMERICA.ZHS16GBKUTF-8 用来存储中文 会有问题么?
    目前客户端的中文都可以正常显示。
      

  3.   

    有2中可能
    1.你安装oracle的时候字符集选择的不对,应该是选择【GB18030】这一个
    2.你在控制面板里面有个语言设置,你调整一下,重启电脑。。