论坛首页 入门技术论坛

汉字如何转化为Iso-8859-1编码

浏览 27839 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-01-09  
晕 答案被javaeye屏蔽了

重新打比方

汉字宠unicode=23456
通过转换变成如下(无视*号)
&#***23456;
0 请登录后投票
   发表时间:2007-01-09  
如你所说,汉字“宠”=23456转换为8859后变成宠可是使用
elementValue = new String(宠.getBytes("ISO-8859-1"),"GBK");还是会出现乱码啊,8859转成汉字怎么转??
0 请登录后投票
   发表时间:2007-01-09  
使用这段程序是可以将汉字转成ISO-8859-1编码,但是怎么转回来呢?
使用String temp=new String("&#***23456;".getBytes("ISO-8859-1"),"GBK");得到的仍然是&#***23456;啊!
0 请登录后投票
   发表时间:2007-01-10  
那段代码不是狭义上字元的转码

而是用一串不含汉字的字符串代表一个汉字。

最后通过浏览器把一串串unicode标记转换成汉字
0 请登录后投票
   发表时间:2007-01-10  
不好意思,不太明白你的意思,
我的问题是,如果将这段编码使用java转换成汉字呢?
例如将&#***23456;字符串转换为原来的汉字"宠"
0 请登录后投票
   发表时间:2007-01-10  
没人知道这个问题么???唉,郁闷,
我发现如果将&#***23456;直接提交,在javaeye里是可以转换为汉字"宠"的,看来是可以转换的,不知道javaeye是怎么作的?
0 请登录后投票
   发表时间:2007-01-10  
你觉得还有必要转吗?

我认为这是一种用空间换国际化的做法
0 请登录后投票
   发表时间:2007-01-10  
简单来说,如果想用iso-8859-1 来传输中文,就要想办法 escape 中文的双字节问题。正如 smtp 的 payload 可以用 base64 来 escape 一样,xml 也可以用类似的方法来 encode。但是这里有一个问题,因为 &#xxxx;的 escape 方法并不是 xml 默认的标准(是html的),所以对方必须实现相同的 decoder 才能应用。

我觉得你最好把一个你们用的 xml 的样例写出来。因为我觉得问题不在于 escape。
0 请登录后投票
   发表时间: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>&#208;&#189;&#173;</value></field>
<field>
.....
</fields>
0 请登录后投票
   发表时间: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);		
	}
}
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics