l
如果提交
FORM
表单的页面与处理表单请求的
Servlet
程序都是由同一个人或同一个项目组开发的,那么只要在处理表单提交的
Servlet
程序中将传递给
setCharacterEncoding
方法的字符集编码设置为该表单所在页面的字符集编码即可。
l
如果
Servlet
程序可以接收来自多个其他站点的
FORM
表单提交的数据,而每个其他站点的页面所采用的字符集编码可能各不一样,要想让
Servlet
程序知道
FORM
表单内容的字符集编码,可以在
FORM
表单中增加一个隐藏字段来传递当前
FORM
内容的字符集编码名称。
l
只要超链接、
FORM
表单的
action
属性设置、请求转发和重定向的
URL
等任何一种请求路径中要包含参数,就必须对参数部分进行
URL
编码。对参数进行
URL
编码时所选择的字符集编码应尽量与当前页面的字符集编码保持一致,也可以用一个参数来指定
URL
编码内容的字符集编码名称。
l
所有标准的浏览器和客户机终端都支持
UTF-8
编码,如果
WEB
服务器要能兼容处理各个国家和地区版本的浏览器所传递的
FORM
表单信息,网页文档应当使用
UTF-8
编码格式。
l
在编写应用程序时应该注意一些隐性的字符编码错误。有些程序在输出时有编码转换错误,在读取输入时返回的字符串也有转换错误,当该程序输出它所读取到的有问题的字符串时,显示的结果可能是正常的中文字符。