JSP中pageEncoding contentType 字符编码个人归纳总结

首先说JSP源文件的存储格式,在我所操作过的不管是用Eclipse还是用EditPlus默认存储的是ansi,就是本地编码,一般就是gbk。

例:

在jsp文件中有段中文:

中国

pageEncoding和contentType都不设置,那么在jsp生成的*****_jsp.java中生成的源文件已经是乱码了,

Öйú

,那么在网页上的输出也将是乱码Öйú,可以看出,这时的JAVA文件是采用iso-8859-1默认编码的,因为和jsp文件存储格式不一到导致的乱码。

设置pageEncoding="utf-8"那么在jsp生成的*****_jsp.java中生成的源文件也是已经是乱码了,

�й�

,那么在网页上的输出将是�й�
,可以看出,这时的JAVA文件是采用utf-8默认编码的,和jsp存储格式不一致,一样导致乱码。

注:这时如果人为的将jsp文件通过记事本另存为的方式更改存储编码为UTF-8,那生成的java文件将能正常显示且网页打开正常,由于不可能每个JSP文件都人为的另存为一下改成UTF-8来存储,所以这个方法只是当一个扩充知识点来补充。

contentType中的charset设置主要用来响应页面字符编码的。如果不设置将由pageEncoding决定,如果都不设置将默认采用iso-8859-1。


总结:我觉得都不需要记太多的假设,只要记住对的就行了,错误的方法千千万,只要记住对的就行了。

现在页面基本都有带中文的,就算不带也应该考虑中文乱码问题

1:设置pageEncoding="gbk",  contentType="text/html; charset=gbk"

2:设置pageEncoding="gbk",  contentType="text/html; charset=utf-8" (推荐)

2:设置contentType="text/html; charset=gbk"

以上仅作为个人笔记,多多交流,请匆喷。


你可能感兴趣的:(jsp,乱码,编码,utf-8,java)