PLSQL Developer中文乱码问题

哦,我前年帮邻家公司的朋友处理过这个问题。
真的很不愉快。

您提到的步骤大部分是正确的。
当我对他这样做时,我也做了同样的事情。

其环境是Windows 1 0,公司数据库是Oracle 1 9 c,使用UTF-8 他之前使用的PL/SQL Developer版本似乎很旧。
具体版本我忘了。
无论如何,这都不是最新版本。

我帮助他的过程如下:
1 .环境变量步骤:我记得很清楚,它的NLS_LANG没有设置或者设置错误。
我教他如何进入“这台电脑”->“属性”->“高级系统设置”->“环境变量”,然后在“系统变量”中单击“新建”,将 NLS_LANG 写入变量名,将 AMERICAN_AMERICA.AL3 2 UTF8 写入值。
完成后,我让他重新启动计算机并打开 PL/SQL Developer。

2 看看效果:重启后,连接数据库,再次运行查询。
此前的“张三”等中文乱码显示为一串乱码或方块。
现在一切都很好,他可以认为一切都是正常的。
如果能看到效果这一步是最重要的。

3 其他情况:我还问他Dblink是否有连接数据库的字符集设置,比如SELECT FROM table@'xxx.dblink' CONNECT_DATA=(SERVICE_NAME='yyy') USING_TNSNAME='zzz' NLS_LANG='AMERICAN_AMERICA.AL3 2 UTF8 ';有时您必须在 Dblink 中指定这一点。

4 版本问题:他的旧版本有一些问题。
后来我建议他升级PL/SQL Developer。
新版本更加稳定,不再出现损坏的字符。

跳过话题:你这么一说,让我想起了另一件事。
我还帮助人们构建了 Oracle。
这次是Linux系统。
老大爷用DBLink连接数据库,但全是汉字。
最后我发现他的客户端工具(不是PL/SQL Developer,而是SQLPlus)的字符集设置不正确,只好帮他改一下。

题外话:所以你看,中国人的这种扭曲是有很多原因的问题。
按照你提到的步骤:先更改系统环境变量NLS_LANG,重新启动,然后在PL/SQL Developer中查看中文显示是什么样子。
如果仍然不起作用,请考虑连接数据库的方式(Dblink 是否有字符集)或尝试更新 PL/SQL Developer。
另请检查操作系统的区域设置。
虽然很少见,但也不是不可能。

这是我的经历。
这取决于您的环境。
如果这不起作用,请告诉我您的具体环境、数据库字符集和 PL/SQL Developer 版本号,我会为您查看。

sqlserver 汉字 问号