ODBC插入中文字符在数据中是乱码

   OBDC插入中文字符为乱码问题

问题描述
数据库服务端操作系统:RHEL 6.9
数据库类型:达梦7
数据库初始化字符集:GB18030
ODBC执行端操作系统:HP_UX B.11.31
ODBC版本:2.3.0
在ODBC终端执行插入中文字符串操作提交后,查看该数据发现中文字符串数据为乱码。

问题描述
1.确认数据库中存储内容是否是乱码??
到数据库服务端查看该数据也是乱码,并把该服务端的终端字符集修改为中文 EXPORT LANG=zh_CN 再次查看该数据还是为乱码。
2.修改ODBC执行窗口字符集是否是终端窗口字符集与数据库字符集不一致造成??
在ODBC执行端窗口执行EXPORT LANG=zh_CN修改字符集为中文字符集。然后执行类型的中文字符数据插入,并查看该数据为乱码。
3.重新安装执行端ODBC并加装中文字符集, 是否是ODBC字符集与数据库字符集不一致造成??
卸载ODBC后,在安装前执行configure命令添加enable-icony 和with-iconv-char-enc参数使生成的makefile编译文件中包含中文字符集(命令示例:./configure --prefix=/usr/local/unixODBC-2.3.0 --includedir=/usr/include --libdir=/lib64/lib --sysconfdir=/etc --enable-gi=no --enable-icony=yes --with-iconv-char-enc=GB18030 ) 安装成功后在ODBC执行端窗口执行中文字符数据插入,查看确认该数据为正确的中文字符数据。
总结
根据以上情况确认是ODBC执行端的HP_UX B.11.31操作系统,在默认安装ODBC前configure命令不会添加中文字符集到编译文件中造成,中文字符数据插入时采用字符集和数据库服务端初始化字符集不匹配引起该问题。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值