UTF8的字符集问题
查看( 154 ) /
评论( 8 )
TAG:
-
kelsoncong
发布于2008-04-10 16:22:19
-
下面是把客户端字符集转换成ZHS16GBK的情况,
SQL> insert into test values('我','我');
已创建 1 行。
SQL> commit;
提交完成。
SQL> select a,dump(a),b,dump(b) from test;
A
--------------------
DUMP(A)
--------------------------------------------------------------------------------
B
--------------------
DUMP(B)
--------------------------------------------------------------------------------
我
Typ=96 Len=10: 230,136,145,32,32,32,32,32,32,32
我
Typ=96 Len=20: 98,17,0,32,0,32,0,32,0,32,0,32,0,32,0,32,0,32,0,32
由此可见,数据库在插入,准确的把"我"字转换成UTF8和UTF16的编码,而在显示的时候又转换成了准确的汉字"我",
由此说明OS的字符集在ORACLE数据库字符集处理的时候还是起着非常关键的作用的,
但是具体怎么操作的,我现在还搞不清楚,有兄弟知道的,帮忙指导一下
-
shooterchan发布于2008-04-10 16:33:37
-
WINXP SP2不支持utf8咯。你可以用第三方软件,比如isqlplus
-
mihawk发布于2008-04-10 16:33:39
-
客户端字符集:936 GBK
不知道这个字符集是什么东西.
我一直在跟字符集打交道, 得到的一个心得就是:
客户端的字符集一定要包含你输入的字符, 比如你要输入中文, 就不能在日文字符集里去做, 否则就是乱码.
但是输入日文就可以在中文字符集下做, 因为zhs16gbk字符集中包含了大部分日文.
-
kelsoncong
发布于2008-04-10 16:40:10
-
多谢 shooterchan
TO:mihawk:
呵呵,你说的ZHS16GBK包含的大部分日文是指包含的日文里面的中文显示的部分,但是不能显示日文自身的片甲名和平加名,
我现在的问题实际上牵涉到三个字符集:服务器端,客户端和OS端的关系
-
kelsoncong
发布于2008-04-11 08:49:08
-
有经验的兄弟继续帮忙发表点看法啊
-
wangfans
发布于2008-04-11 11:29:58
-
我猜测哈,你的文件格式的问题。
例如你的文件里面有德文,日文等国外字符,
而你的文件不是UTF-8 的文件格式,
即便你其他设置再正确,
也是乱麻,因为文件级别的信息已经发生了不准确。
-
wangfans
发布于2008-04-11 11:36:40
-
FT,。。。。没看清楚你的意思就发言了,呵呵
不过顺便说句,除了上面列出的之外,文件本身也有限制的。我就吃过亏。。
-
kelsoncong
发布于2008-04-11 13:43:12
-
多谢啊,我后来做了一个简单的整理,不知道对不对,帮忙指正一下,我发了个新贴:飞刀,又见飞刀
