PLSQL查看oracle表中文内容乱码问题(显示问号)解决办法
描述:
插入中文内容到数据库表成功,但是查询时这些中文数据全是乱码
原因:
本机没有配置数据库字符集环境变量,或是与数据库字符集不一致。
解决:
1、查看数据库字符集
select userenv('language') from dual;
AMERICAN_AMERICA.AL32UTF8
或者
--查询ORACLE服务器的语言、地域和字符集
SELECT * FROM nls_database_parameters WHERE parameter IN ('NLS_LANGUAGE','NLS_TERRITORY','NLS_CHARACTERSET');


2、修改客户端机器windows系统环境变量
--新建系统变量NLS_LANG,设置如下: AMERICAN_AMERICA.AL32UTF8

3、重新打开pl/sql工具,插入中文数据到表,新插入中文数据,就可以正常查看不乱码了。
具体如下:使用pl/sql工具,新建sql窗口,插入中文数据到表,查询表数据。
4、还有种情况,pl/sql查看oracle中过程里中文内容乱码,比如过程里的中文注释等乱码。
这个也是首先要查看数据库字符集,比如数据库字符集是AL32UTF8,则要求过程的sql脚本文件也要用utf8字符集保存。然后根据脚本文件来编译过程才不会乱码。
Ps.
- 配置好环境变量后,如果还是乱码,需要注销电脑,或者重启电脑后,再操作查看了。
- oracle数据库使用NLS_LANG环境变量,变量值和oracle数据库字符集配置成一样。
最后修改时间:2022-12-12 17:45:40
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




