您的位置:首页 > 数据库 > Oracle

oracle 11g 数据库中文字段,vs2013 MFC工程 显示乱码解决办法

2015-12-10 09:04 856 查看
SQL> select * from v$NLS_PArameters

2 ;

PARAMETER

----------------------------------------------------------------

VALUE

----------------------------------------------------------------

NLS_LANGUAGE

SIMPLIFIED CHINESE

NLS_TERRITORY

CHINA

NLS_CURRENCY



PARAMETER

----------------------------------------------------------------

VALUE

----------------------------------------------------------------

NLS_ISO_CURRENCY

CHINA

NLS_NUMERIC_CHARACTERS

.,

NLS_CALENDAR

GREGORIAN

PARAMETER

----------------------------------------------------------------

VALUE

----------------------------------------------------------------

NLS_DATE_FORMAT

DD-MON-RR

NLS_DATE_LANGUAGE

SIMPLIFIED CHINESE

NLS_CHARACTERSET //这里!!!
ZHS16GBK

分析原因:
字符集是ORACLE 为适应不同语言文字显示而设定的。用于汉字显示的字符集主要有ZHS16CGB231280,US7ASCII,WE8ISO8859P1等。字符集不仅需在服务器端存在,而且客户端也必须有字符集注册。服务器端,字符集是在安装ORACLE时指定的,字符集登记信息存储在ORACLE数据库字典的V$NLS_PARAMETERS表中;
我的VS2013工程使用 项目设置的字符集是“Use Multi-Byte Character Set”
而数据库上面是 SIMPLIFIED CHINESE_CHINA.ZHS16GBK

解决办法:
最后我在系统的环境变量里面加了个NLS_LANG值也是SIMPLIFIED CHINESE_CHINA.ZHS16GBK,重启了一下VS,然后就好了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: