9:中文乱码处理-Java Web
导读: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版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!