因为是在linux端进行imp导入的,在Linux端执行
export
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
然后进行imp重新导入,发现注释正常。
总结:一般出现乱码,考虑三方面的问题:
1.1
导入后如果查询数据为乱码,查看PL/SQL所在客户端的字符集,修改为中文字符集。
1.2
导入后如果查询数据为乱码,查看源端和目标端的字符集是否包含(修改数据库字符集比较复杂,不建议)
2 导入后如果表注释为乱码,查看导入客户端的字符集是否和导出端的字符集是否一致。
步骤一
开始-运行-输入regedit-回车进入注册表,依次单击HKEY_LOCAL_MACHINE--->SOFTWARE
--->
ORACLE--->KEY_OraDb11g_home1(不同版本的Oracle显示的都不太一样,但都会包含home这个单词),找到“NLS_LANG”,查看数值数据是否为:“SIMPLIFIED
CHINESE_CHINA.ZHS16GBK”,如果不是就将它设置为“SIMPLIFIED
CHINESE_CHINA.ZHS16GBK。”
如图
步骤二
设置完注册表后,接下来设置我们的环境变量,计算机(右键) --->属性--->高级系统设置--->高级--->环境变量--->新建,个人建议新建用户变量,变量名输入:“NLS_LANG”,变量值输入:“SIMPLIFIEDCHINESE_CHINA.ZHS16GBK”。点击确定即可,到此我们就设置完了。
如图