首页IT科技9:中文乱码处理-Java Web

9:中文乱码处理-Java Web

时间2025-09-19 11:23:39分类IT科技浏览5070
导读:9.1 常见字符集 • ASCII...

9.1 常见字符集

• ASCII

最原始的一套编码               ,所有编码都是由一个字节的二进制数对应                      ,尽管包含8位      ,但是第一位始终是0           ,也就是128个               。单字节编码

• ISO-8859-1

字符集前128个字符与ASCII完全相同                       ,后128个字符扩展增加了其他语言字符         ,单字节编码

• GB2312和GBK

GB2312是中华人民共和国国家标准汉字信息交换编码       ,采用两个字节来编码一个中文汉字                        ,涵盖了大部分常用的中文字符

GBK对GB2312进行扩展的中文字符集             ,它完全兼容GB2312   ,还对繁体和一些不常用的汉字和特殊字符进行扩展支持

UNICODE

采用两个字节保存编码                       ,前256个字符与ISO-8859-1是完全统一的                 ,只不过他的第一个字节数字为0,它包含世界上大多数国家的大多数语言文字和字符                      。• UTF-8

对于0~127的ASCII字符                   ,UTF-8采用一个字节表示                     ,并且编码和ASCII是一样的   ,如果UNICODE是在0X0080和0x007f之间的字符               ,UTF-8则用两个字节表示                      ,如果UNICODE是在0X0800和0XFFF之间的字符      ,对应的UTF-8则采用3个字节      。

9.2 乱码原因

Java语言内部采用Unicode字符集来表示字符           ,一旦与外界的程序打交道就会存在一个字符转换的过程           。

• 对于Java Web应用程序                       ,客户端浏览器采用默认的字符集(通常是GBK)         ,而Web容器对POST提交的数据采用ISO-8859-1的编码方式       ,数据在这些系统中穿梭很可能就会出现乱码的问题                       。

9.3 解决乱码

1               、如何解决服务器返回页面中文乱码问题

response.setContentType("text/html;charset=UTF-8");

2                      、解决post方式请求表单参数中文乱码问题

request.setCharacterEncoding("UTF-8");//注意此语句一定要设置在取参数的语句之前

3      、解决get方式请求中文参数乱码问题

修改server.xml

<Connector port="8080" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>
声明:本站所有文章                        ,如无特殊说明或标注             ,均为本站原创发布         。任何个人或组织   ,在未征得本站同意时                       ,禁止复制           、盗用                       、采集         、发布本站内容到任何网站       、书籍等各类媒体平台       。如若本站内容侵犯了原著者的合法权益                 ,可联系我们进行处理                        。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
网络爬虫实现原理(1.认识网络爬虫)