数据库出现乱码的问题主要和客户的本地化环境,客户端NLS_LANG设置,服务器端的数据库Oracle字符集设置这三者有关,如果它们的设置不一致或者某个设置错误,就会很容易出现乱码。
使用pl/sql对数据库操作时会出现中文乱码,在pl/sql上用
select * from v$nls_parameters
可查询nls的参数(NLS_LANGUAGE),获得数据库服务器端的字符编码。通过查询信息可得客户端NLS_LANG设置与本地化环境并不一致,通过设置环境变量NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
NLS_LANG格式:
NLS_LANG=language_territory.charset
有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。其中:language 指定服务器消息的语言。
territory 指定服务器的日期和数字格式。
charset 指定字符集 。
设置完环境变量后,重启pl/sql即可正常显示中文。
oracle pl/sql中文乱码解决小记
最新推荐文章于 2024-09-05 10:00:22 发布