彻底解决中文乱码问题
2012-11-29 14:19
204 查看
熟悉编码格式
ISO8859-1:属于单字节编码,最多能表示的字符范围是0~255,应用于英文系列。
GB2312/GBK:属于汉字的国标码,专门用来表示汉字,是双字节编码,而英文字母兼容ISO8859-1编码。
Unicode :属于最统一的编码,可以用来表示所有语言的字符,而且是定长双字节(也有4字节的)编码,包括英文字母在内。
UTF-8 :UTF编码兼容ISO8859-1编码,同时也可以用来表示所有语言的字符。
熟悉Web应用程序中与编码相关的部分
JSP编译:指定文件的存储编码,很明显,该设置应该置于文件的开头
JSP输出 :指定文件输出到Browser时使用的编码,该设置也应该置于文件的开头
META设置:指定网页使用的编码,该设置对静态网页尤其有作用。因为静态网页无法采用JSP的设置,而且也无法执行response.setCharacterEncoding()。
form设置:当浏览器提交表单时,可指定相应的编码
熟悉Web应用程序乱码产生的原因
JSP页面被编译为class时,如果未指定字符集,默认使用ISO8859-1的编码格式,这样中文会出现乱码。
使用表单时如果设定提交方式为POST而没有设置提交的编码格式,则会以ISO8859-1方式进行提交,而接受的JSP却以UTF-8的方式接受,这样也会导致乱码。
表单使用时如果设定提交方式为GET而没有设置提交的编码格式,Tomcat会以GET的默认编码方式ISO8859-1对汉字进行编码,编码后追加到URL,导致接受页面得到的参数为乱码。
解决乱码
设置文件本身的编码格式。这可以在Eclipse或MyEclipse中进行设置。执行Window→Preferences菜单命令,在弹出的对话框中进行设置即可。
在JSP页面上指定字符集。
数据库连接时指定的字符集。
在程序获取页面数据时使用如下代码:
response.setContentType("text/html;charset=gb2312");
request.setCharacterEncoding("gb2312");
ISO8859-1:属于单字节编码,最多能表示的字符范围是0~255,应用于英文系列。
GB2312/GBK:属于汉字的国标码,专门用来表示汉字,是双字节编码,而英文字母兼容ISO8859-1编码。
Unicode :属于最统一的编码,可以用来表示所有语言的字符,而且是定长双字节(也有4字节的)编码,包括英文字母在内。
UTF-8 :UTF编码兼容ISO8859-1编码,同时也可以用来表示所有语言的字符。
熟悉Web应用程序中与编码相关的部分
JSP编译:指定文件的存储编码,很明显,该设置应该置于文件的开头
JSP输出 :指定文件输出到Browser时使用的编码,该设置也应该置于文件的开头
META设置:指定网页使用的编码,该设置对静态网页尤其有作用。因为静态网页无法采用JSP的设置,而且也无法执行response.setCharacterEncoding()。
form设置:当浏览器提交表单时,可指定相应的编码
熟悉Web应用程序乱码产生的原因
JSP页面被编译为class时,如果未指定字符集,默认使用ISO8859-1的编码格式,这样中文会出现乱码。
使用表单时如果设定提交方式为POST而没有设置提交的编码格式,则会以ISO8859-1方式进行提交,而接受的JSP却以UTF-8的方式接受,这样也会导致乱码。
表单使用时如果设定提交方式为GET而没有设置提交的编码格式,Tomcat会以GET的默认编码方式ISO8859-1对汉字进行编码,编码后追加到URL,导致接受页面得到的参数为乱码。
解决乱码
设置文件本身的编码格式。这可以在Eclipse或MyEclipse中进行设置。执行Window→Preferences菜单命令,在弹出的对话框中进行设置即可。
在JSP页面上指定字符集。
数据库连接时指定的字符集。
在程序获取页面数据时使用如下代码:
response.setContentType("text/html;charset=gb2312");
request.setCharacterEncoding("gb2312");
相关文章推荐
- 改造taglib彻底解决amarok等kde下音乐播放程序播放mp3时的中文乱码问题!
- 利用JS彻底解决超链接传参中文乱码问题
- tomcat服务器配置字符集为utf-8-彻底解决中文乱码问题
- 总结彻底解决Spring MVC+Mybatis中文乱码问题
- 彻底解决PHPMyAdmin中文UTF-8乱码问题
- Linux下MySQL 5.6的修改字符集编码为UTF8(彻底解决中文乱码问题)
- 彻底解决Spring MVC中文乱码问题的方案
- 彻底解决Spring MVC 中文乱码 问题
- Linux下MySQL 5.5的修改字符集编码为UTF8(彻底解决中文乱码问题)
- tomcat服务器配置字符集为utf-8-彻底解决中文乱码问题
- (原创)Linux下MySQL 5.5/5.6的修改字符集编码为UTF8(彻底解决中文乱码问题)
- 【转】彻底解决Asp.net文件下载(Response.WriteFile)时文件名的中文乱码和空格异常问题
- Spring MVC 自带的字符编码过滤器以及Tomcat字符编码设置,彻底解决中文参数乱码问题
- 彻底解决中文乱码问题
- Linux下MySQL 5.5的修改字符集编码为UTF8(彻底解决中文乱码问题)
- tomcat服务器配置字符集为utf-8-彻底解决中文乱码问题
- 彻底解决Git中文乱码问题
- 彻底解决Spring MVC 中文乱码 问题
- 彻底解决matplotlib中文乱码问题(转)
- 彻底解决Spring MVC 中文乱码 问题