运维经–目录
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

本文详细介绍了在C++程序通过OCI连接Oracle数据库时遇到的中文乱码问题排查过程。问题出现在字符集不匹配上,通过调整应用服务器和客户端的字符集至与数据库一致,成功解决了乱码问题。
547

被折叠的 条评论
为什么被折叠?



