Oracle的字符集由参数NLS_LANG决定:

NLS_LANG参数由以下部分组成:

NLS_LANG=<Language>_<Territory>.<Clients Characterset>

NLS_LANG各部分含义如下:

LANGUAGE指定Oracle消息使用的语言、日期中月份和日显示格式

TERRITORY指定货币和数字格式、地区和计算星期及日期的习惯

CHARACTERSET控制客户端应用程序使用的字符集

那么如何让Oracle的客户端显示中文呢?前提是Oracle的字符集是支持中文的字符集的超级,我们常用的字符集有gbk和utf8

之后我们在操作系统层面定义NLS_LANG变量,让其支持中文,这样还不够,我们要保持服务端、客户端、系统、我们使用的终端的字符集都保持一致才行

NLS_LANG我们一般有以下两个选择,这2种选择对应的终端字体也需要做相应的调整:

export NLS_LANG='simplified chinese_china.al32utf8' 对应的终端字体调成utf8

export NLS_LANG='simplified chinese_china.zhs16gbk' 对应的终端字体调成gbk