plsql查询不到字段值

哎呀,我真是掉进这个坑里了。
去年我们老王在杭州做PL/SQL,查了个表。
一整列数字变成了一串乱码。
你看这个,本来是“1 2 3 ”,结果直接显示成了“à”。
我当时真的很担心。

接下来发生了什么?查了资料发现是编码问题。
系统环境变量NLS_LANG设置不正确。
想一想,数据库服务器的字符集是UTF8 ,但是它这边的字符集还是老的AL3 2 UTF8 ,这当然不匹配。
赶紧改吧,Windows系统,进入“系统属性”->“高级”->“环境变量”,新建一个名为NLS_LANG的系统变量,并将值设置为“AMERICAN_AMERICA.UTF8 ”。
进行更改后,重新启动计算机并重新打开 PL/SQL。
哎呀,这很正常。

但是你真的必须小心。
前年有个小伙子也改了NLS_LANG。
他一抖手,将其设置为“AMERICAN_AMERICA.WE8 ISO8 8 5 9 P1 ”。
结果呢?数据库原本是中文的,但是全是乱码。
我花了好几天才把它拿回来。
因此,在进行更改之前,您必须确认数据库正在使用哪种字符集。
首先做一个小测试,不要立即改变一切。
在过去的十年里,我陷入了很多陷阱。
让我告诉你这个经历。

sql添加成功但是数据库没有