锁定老帖子 主题:汉字如何转化为Iso-8859-1编码
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-01-09
晕 答案被javaeye屏蔽了
重新打比方 汉字宠unicode=23456 通过转换变成如下(无视*号) &#***23456; |
|
返回顶楼 | |
发表时间:2007-01-09
如你所说,汉字“宠”=23456转换为8859后变成宠可是使用
elementValue = new String(宠.getBytes("ISO-8859-1"),"GBK");还是会出现乱码啊,8859转成汉字怎么转?? |
|
返回顶楼 | |
发表时间:2007-01-09
使用这段程序是可以将汉字转成ISO-8859-1编码,但是怎么转回来呢?
使用String temp=new String("&#***23456;".getBytes("ISO-8859-1"),"GBK");得到的仍然是&#***23456;啊! |
|
返回顶楼 | |
发表时间:2007-01-10
那段代码不是狭义上字元的转码
而是用一串不含汉字的字符串代表一个汉字。 最后通过浏览器把一串串unicode标记转换成汉字 |
|
返回顶楼 | |
发表时间:2007-01-10
不好意思,不太明白你的意思,
我的问题是,如果将这段编码使用java转换成汉字呢? 例如将&#***23456;字符串转换为原来的汉字"宠" |
|
返回顶楼 | |
发表时间:2007-01-10
没人知道这个问题么???唉,郁闷,
我发现如果将&#***23456;直接提交,在javaeye里是可以转换为汉字"宠"的,看来是可以转换的,不知道javaeye是怎么作的? |
|
返回顶楼 | |
发表时间:2007-01-10
你觉得还有必要转吗?
我认为这是一种用空间换国际化的做法 |
|
返回顶楼 | |
发表时间:2007-01-10
简单来说,如果想用iso-8859-1 来传输中文,就要想办法 escape 中文的双字节问题。正如 smtp 的 payload 可以用 base64 来 escape 一样,xml 也可以用类似的方法来 encode。但是这里有一个问题,因为 &#xxxx;的 escape 方法并不是 xml 默认的标准(是html的),所以对方必须实现相同的 decoder 才能应用。
我觉得你最好把一个你们用的 xml 的样例写出来。因为我觉得问题不在于 escape。 |
|
返回顶楼 | |
发表时间:2007-01-11
syoumei:
如果不转成中文的话,那么怎么往数据库中存呢,数据库中的编码是GB2312 kdekid: 我们的xml格式比较简单,基本元素类似与下面描述的,里面的field可以有多个,关于xml头定义的字符为什么是GB2312,是因为另一个公司说如果定义成iso,xml文件中的中文就会出问题? <?xml version=\"1.0\" encoding=\"GB2312\"?><fields> <field><name>VIP_MANAGER_NAME</name> <value>н­</value></field> <field> ..... </fields> |
|
返回顶楼 | |
发表时间:2007-01-11
public class EncodingTest { public static void main(String[] args) throws Exception { String before_gbk_str = new String("同志!"); System.out.println("gbk before transfer " + before_gbk_str); String iso_8859_1_str = new String(before_gbk_str.getBytes("GBK"), "ISO_8859_1"); System.out.println("ISO_8859_1 " + iso_8859_1_str); String after_gbk_str=new String(iso_8859_1_str.getBytes("ISO_8859_1"), "GBK");; System.out.println("gbk after transfer " + after_gbk_str); } } |
|
返回顶楼 | |