最近遇到两个比较棘手的事情,都是同一种状况:数据库储存不了带有生僻字的客户名。
一个是“?”,另外一个是“?”,只能是感叹汉语真是博大精深啊。SR向原厂的工程师援助,
原厂都没有办法提供很好的解决方案。以下是遇到这种状况的数据库的字符集情况。当输入带有
这两个生僻字的记录时候,数据能录入,但是当查询记录结果的时候,对应字段的信息就变成乱码
“?”。经过非生僻字的储存测试,以下涉及到的两种字符集完全可以存储汉字的数据记录,但就是不能
存储汉字中比较生僻的字。后面根据朋友做的一些测试说,在生僻字的前后价格空格可以插入到数据库,并
能成功的显示出来。我按照朋友介绍的方法在我的测试环境中再少补充了一些测试,结果还是只能插入而不显示。
原厂对朋友的这种测试,也还没有作任何有效的回复。
连改博文保存发表之后,两个生僻字都显示为乱码(估计博客后台数据库也识别不了),我只能用以下图片展示以下两个生僻字了:
----两个生僻字(拼音分别为“jie”二声 和“mian”二声):
----背景数据库的字符集:
SQL>select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK
---数据库主机的字符集:
AMERICAN_AMERICA.ZHS16GBK
----生僻文字输入并存储测试:
--生僻字1:?
--生僻字2:?
---测试表:suxing用户下的表yourtest:
suxing@PROD>select * from yourtest;
ID NAME CREATED SEX
---------- ------ --------- -----
125 susu 02-NOV-16 man
123 yyyy 02-NOV-16 man
124 hhhh 10-NOV-16 man
126 wwww 10-NOV-16 man
125 dddd 11-NOV-16 woman
123 yyyy 24-NOV-16 man
127 haha 06-DEC-16