字符集问题。
查看和修改注册表中HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE->HOME0中NLS_LANG,
使导出的客户端保持和服务器端相同。
客户端若未有此变量,点击鼠标增加一串值,并尝试使用:
“AMERICAN_AMERICA.US7ASCII”,“AMERICAN_AMERICA.WE8ISO8859P1”,“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”。
查看和修改注册表中HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE->HOME0中NLS_LANG,
使导出的客户端保持和服务器端相同。
客户端若未有此变量,点击鼠标增加一串值,并尝试使用:
“AMERICAN_AMERICA.US7ASCII”,“AMERICAN_AMERICA.WE8ISO8859P1”,“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”。
但是我安装完后确实修改过数据库的字符集的
在安装数据库时,字符集选择使用的是‘US7ASCII’,但是装好后数据库表中的中文值显示不出来,于是我用如下语句修改了数据库:
update sys.props$ set value$='ZHS16CGB231280' where name='NLS_CHARACTERSET'
显示中文的问题就解决了。
但是当我进行exp操作时,就报如下错误:
EXP-00008: ORACLE error 6553 encountered
ORA-06553: PLS-561: character set mismatch on value for parameter 'SHORTNAME'
EXP-00000: Export terminated unsuccessfully于是,我照 BlueskyWide(谈趣者) 的提示,将数据库字符集还原:
update sys.props$ set value$='US7ASCII' where name='NLS_CHARACTERSET';
此时,可以无误的执行exp操作。但时接下来的问题是,我将导出的dmp文件导入到安装时使用的‘ZHS16CGB231280'字符集的其它oracle服务器时,导入数据中的中文均时乱码,请问我该怎么办呢?