我已经参考过:utf-8
--utf-8是和unicode一一对应的,其实现很简单
--
-- 7位的unicode: 0 _ _ _ _ _ _ _
--11位的unicode: 1 1 0 _ _ _ _ _ 1 0 _ _ _ _ _ _
--16位的unicode: 1 1 1 0 _ _ _ _ 1 0 _ _ _ _ _ _ 1 0 _ _ _ _ _ _
--21位的unicode: 1 1 1 1 0 _ _ _ 1 0 _ _ _ _ _ _ 1 0 _ _ _ _ _ _ 1 0 _ _ _ _ _ _
--大多数情况是只使用到16位以下的unicode:
--"你"的gb码是:0xc4e3 ,unicode是0x4f60
--我们还是用上面的例子
-- --例1:0xc4e3的二进制:
-- -- 1 1 0 0 0 1 0 0 1 1 1 0 0 0 1 1
-- -- 由于只有两位我们按照两位的编码来排,但是我们发现这行不通,
-- -- 因为第7位不是0因此,返回"?"
-- --
-- --例2:0x4f60的二进制:
-- -- 0 1 0 0 1 1 1 1 0 1 1 0 0 0 0 0
-- -- 我们用utf-8补齐,变成:
-- -- 11100100 10111101 10100000
-- -- e4--bd-- a0
-- -- 于是返回0xe4,0xbd,0xa0
-- --
3.string和byte[]
--string其实核心是char[],然而要把byte转化成string,必须经过编码。
--string.length()其实就是char数组的长度,如果使用不同的编码,很可
--能会错分,造成散字和乱码。
--例:
----byte [] b={(byte)'\u00c4',(byte)'\u00e3'};
----string str=new string(b,encoding); ----
----如果encoding=8859_1,会有两个字,但是encoding=gb2312只有一个字 ----
--这个问题在处理分页是经常发生
但是我不知道应该怎么处理
谁有高见,请指点指点,分不够可以再加!!!!!
--utf-8是和unicode一一对应的,其实现很简单
--
-- 7位的unicode: 0 _ _ _ _ _ _ _
--11位的unicode: 1 1 0 _ _ _ _ _ 1 0 _ _ _ _ _ _
--16位的unicode: 1 1 1 0 _ _ _ _ 1 0 _ _ _ _ _ _ 1 0 _ _ _ _ _ _
--21位的unicode: 1 1 1 1 0 _ _ _ 1 0 _ _ _ _ _ _ 1 0 _ _ _ _ _ _ 1 0 _ _ _ _ _ _
--大多数情况是只使用到16位以下的unicode:
--"你"的gb码是:0xc4e3 ,unicode是0x4f60
--我们还是用上面的例子
-- --例1:0xc4e3的二进制:
-- -- 1 1 0 0 0 1 0 0 1 1 1 0 0 0 1 1
-- -- 由于只有两位我们按照两位的编码来排,但是我们发现这行不通,
-- -- 因为第7位不是0因此,返回"?"
-- --
-- --例2:0x4f60的二进制:
-- -- 0 1 0 0 1 1 1 1 0 1 1 0 0 0 0 0
-- -- 我们用utf-8补齐,变成:
-- -- 11100100 10111101 10100000
-- -- e4--bd-- a0
-- -- 于是返回0xe4,0xbd,0xa0
-- --
3.string和byte[]
--string其实核心是char[],然而要把byte转化成string,必须经过编码。
--string.length()其实就是char数组的长度,如果使用不同的编码,很可
--能会错分,造成散字和乱码。
--例:
----byte [] b={(byte)'\u00c4',(byte)'\u00e3'};
----string str=new string(b,encoding); ----
----如果encoding=8859_1,会有两个字,但是encoding=gb2312只有一个字 ----
--这个问题在处理分页是经常发生
但是我不知道应该怎么处理
谁有高见,请指点指点,分不够可以再加!!!!!
解决方案 »
- 关于使用 Java.io.File 类删除上传到服务器的文件的一个疑问“?”
- web整站下载相关代码
- session的gerAttribute函数返回的是新创建的对象吗
- 关于session的问题
- 请教AES加密的问题。。
- 使用 include 插入页面乱码
- 做过私活的同志认为做这个jsp的网站可以要多少?帮我看看好吗? 因为急啊,所以在多个版本上都发布了,不好意思啊!!
- button value???????????//
- 连微软的主页上都用javascript,他的jsp和vbscript还有没有市场?大家讨论!!!!!
- spring与struts整合问题,ServletResultDispatcherbean不能被创建
- JSP+JAVABEAN就是无法查处结果???
- jsp中对数据库的更新如何用事务管理?
出现的情况则是
如果是汉字有偶数个,则转换没有问题,但是如果是奇数个汉字,则最后一个汉字显示不出(怀疑是缺少了后半个byte).
怎么办啊??
也和平台有关,tomcat4我就直接得到汉字而不用转换。
当然这是权宜之计!别的我也不清楚。
源数据(GBK)----->UTF-8编码格式------->GBK编码格式保存。我在win2000 server中操作,我想系统默认的编码是相同的。
其实源数据(GBK)----->UTF-8编码格式这一步是没有问题的,这一步可以正常转换。只是:
UTF-8编码格式------->GBK编码格式保存。
这一步出现问题。
UTF-8将一个汉字分成三个字节长度,要想将这样三个字节长度转换回GBK,那应该需要怎么做呢??
也许说了这么多都没有什么用,也许有直接的方法可以将UTF8编码格式的字符串(包含汉字)转换成GBK编码格式,但是我不知道啊!!