运维经–目录
oracle 数据库 中文乱码 排查
今天同事问了关于数据库编码的问题。场景如下:
数据库:oracle
应用:C++程序
问题:c++程序,通过oci连接oracle数据库后插入出现中文乱码
排查过程
- 查看oracle字符集
select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
- 查看应用服务器字符集
$ env | grep LANG
LANG=en_US.UTF-8
- 修改应用字符集,使其与server字符集匹配
export LANG=zh_CN.gb2312
# 这个是关键,设置client字符集
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK