Iso8859-1是西方国家频繁使用的字符编码格式。用iso8859-1编码unicode码中的东方字库部分的字符时统统编码成??,也就是说:用iso8859-1编码unicode码时信息会有损失。但用iso8859-1解码任意(iso8859-1编码的和非iso8859-1编码的)字符流时,信息不会有损失,这是因为一个字节中的所有256个字符对iso8859-1都是合法的都是合法的。有时候在一些linux操作系统和一些应用服务器里,默认的解码方式是iso8859-1,这是大多数乱码的原因。 Gb18030,gbk,gb2312是汉字字符的编码格式,用gb18030(gbk,gb2312和gb18030是同一系列,不过字库要小,但使用方式是一样的,这里不区分,统统用gb18030)编码unicode码时非中英文的字符会被编码为?,也就是说,用gb18030只能编码unicode中的中英文字符,其他的字符都会被损失掉。同样用gb18030解码只能解码gb18030编码的字符流。 Xml文件中 是告诉浏览器要用要用指定的编码格式解码自身这个文件,当然要求浏览器首先要支持这个编码格式(在客户端),jsp页面的字符集是告诉jsp服务器要用要用指定的编码格式解码自身这个jsp文件(在服务器段). 然而在servlet程序中response.setContentType("text/html; charset=GBK");是告诉servlet程序用指定编码格式编码(在服务器段) 字符集转换的基本思想很简单,用某种字符编码规则编码,就用什么编码规则解码,经常出问题的深层次原因是java对字节流未提供编码信息,可以认为这是一个严重的失误。估计未来的java能提供这样的信息。…待续 涉及编码问题的地方有:java类文件编辑时,java类文件编译时,实施文件,服务器指定,jsp文件内指定,xml(html)内指定,servlet文件指定,资源连接点配置中指定. 不能正常显示原因通常在两个地方:字符集;字库。对于通用的软件,一般都提供完整的字库支持。所以一般问题是解码不正确。 术语: 字符集:字符编码集 编码格式:字符编码的规格,可大致视为和字符集是同一回事,其实还是有区分的 编码:encode 解码:decode
java转换字符集_Java字符集转换解释
最新推荐文章于 2024-06-05 08:15:43 发布