基本环境:服务器:Oracle(10.1.0) 服务器 在linux(LANG=en_US)上 字符集:AMERICAN_AMERICA.US7ASCII
客户端:Oracle(10.2.0.3.0) vista(其他OS也试过) 字符集也是AMERICAN_AMERICA.US7ASCII
客户端软件:Toad 9 问题:建立一个新表后使用各种办发插入数据都出现“????口口” 乱码(字段类型:varchar2(80))
      其他表的中文在Toad 中显示正常。
     只要是插入一条新数据,提交后就变成乱码。从来没有遇到过这种问题,各位高手出出主意吧。100分奉上。

解决方案 »

  1.   

    我考!
    原来是nvarchar 的问题用 varchar就行了.
    自己搞定了,本贴改为散分贴...
      

  2.   

    只要客户端的nls_lang的设置和数据库服务器的字符集一致就可以避免乱码的问题。查看数据库字符集:
    SELECT PROPERTY_VALUE
      FROM DATABASE_PROPERTIES
     WHERE PROPERTY_NAME = 'NLS_CHARACTERSET';
      

  3.   


    字符集是一致的,只是用nvarchar的时候是乱码,而用varchar2的时候就是正常的,不知是何原因???
      

  4.   

    字符集是一致的,只是用nvarchar的时候是乱码,而用varchar2的时候就是正常的,不知是何原因???
      

  5.   

    哪可能是nchar字符集设置的不对,检查一下:
    SELECT PROPERTY_VALUE 
      FROM DATABASE_PROPERTIES
     WHERE PROPERTY_NAME = 'NLS_NCHAR_CHARACTERSET';
      

  6.   

    学习了..原来oracle已经精细到这种程度了.真是孤陋寡闻了
      

  7.   

    右键 "我的电脑",在"属性"--"设置"--"环境变量"--"系统变量"中增加一项,其中变量为为NLS_LANG ,变量值为AMERICAN_AMERICA.ZHS16GBK.
    重启TOAD后,即可看到原为乱码的内容,显示为正常中文.