linux终端查看数据库内容,乱码怎么解决

linux终端查看数据库内容,乱码怎么解决,第1张

如果是图形界面下的虚拟终端,设置(根据不同的 shell 修改不同的环境参数配置文件,如 bash 就修改 .bashrc 文件或 .bash_profile 文件)

1

export LANG=zh_CN.UTF-8

如果是远程登录(比如使用 ssh 登录),则根据你的客户端的环境进行设置,一个可能的方案是:

1

export LANG=zh_CN.GB18030

locale 看看你的当前是什么语言显示然后

1

vi /etc/sysconfig/<a href="https://www.baidu.com/s?wd=i18n&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YvPAfsPARvmHRdPHcdnjTL0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPjnzPHD4nW0zPH6zPjbzrj6Y" target="_blank" class="baidu-highlight">i18n</a>

一般情况下linux服务器都是配置utf-8,不使用中文的。

客户端连接Linux服务器中文显示乱码,如下图所示:

字符乱码问题 :如果服务器本身支持中文,只是客户端显示乱码,通常就是

客户端字符集与服务器字符集不一致造成的。把客户端字符集改成服务器字符集就可以解决的。但是像 SSHSecureShellClient-3.2.9.exe 客户端没有设置字符集的地方,就需要把字符集改为zh_CN.GB18030才能正确显示中文:

export LC_CTYPE=zh_CN.GB18030

export LC_ALL=zh_CN.GB18030

export LANG=zh_CN.GB18030

设置完就解决了客户端连接Linux系统中文显示乱码的问题。

注:每次使用客户端连接Linux服务器时,都需要手动改一下字符集。

select userenv('language') from dual

先确认Oracle的字符集,sqlplus登录Oracle后执行语句:

select userenv('language') from dual

返回值例如:AMERICAN_AMERICA.ZHS16GBK

export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"

修改Linux的NLS_LANG环境变量,修改Oracle指定的Linux用户下面“.base_profile”文件,加入如下:

export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"

用Linux命令“source ~/.base_profile”或者重启,使环境变量设置生效;查看环境变量的Linux命令为“echo $NLS_LANG”。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6689350.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存