Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7244
  • 博文数量: 3
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-21 16:23
文章分类
文章存档

2014年(2)

2013年(1)

我的朋友

分类: Oracle

2013-08-21 16:24:31

问题重现:
     安装的是oracle 11g数据库,支持字符集是GBK,系统字符集是UTF-8,通过sqlplus insert数据(中文汉字)可以正常显示中文,从前端客户端(apache+php)插入中文数据,在数据库中查看都是乱码"?"。
 
可怜我的疼呀,眼看第二天就要上线了,数据库的编码的又出了问题;更改的系统字符集,强制性在php插入时改变默认字符,测试还是乱码。就在这里查呀查呀,百度,谷歌不停的搜呀,都没有搜到想要的答案
 
冷静下来思考后,心想问题是不是出在oracle 的NLS_LANG参数设置问题上。
sqlplus下执行:select userenv('language') from dual;查看oracle字符集,果真是NLS设置问题,赶快把NLS_LANG的字符集设置和oracle字符集相同,在通过前端插入时,一切OK.
 
 
NLS_LANG 未设置或设置错误,都会导致插入中文乱码问题,排除这方面的问题一定要晓得字符集的排除过程。
1. 未设置:向oracle插入数据时,数据库会寻找系统中的字符编码,然可已系统的编码方式插入数据库。
阅读(1118) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:VS2012 发布到IIS Express 外网访问

给主人留下些什么吧!~~