起因
Mac上为了方便使用Oracle使用了Docker中大神制作的Oracle镜像,但是当表中出现中文数据时出现了乱码的情况(全是’???’)
分析
先从操作系统层面分析,Linux系统本身是否不支持中文
输入如下命令查看是否有zh_CN.utf8
locale -a
如果没有的话执行以下命令来安装
sudo locale-gen zh_CN.UTF-8
查看当前环境变量中是否有NLS_LANG
以及LANG
echo $NLS_LANG
没有的话在当前用户的home目录下的.bashrc或者.bash_profile文件中添加
export LANG="zh_CN.UTF-8"
export NLS_LANG=AMERICAN_AMERICA.UTF8
保存文件并source一下
重启了镜像以及sqlplus客户端,中文就不乱码了