其实所有的中文乱码问题总结出来就是一句 话:
只要中文数据在[b]服务器[/b]转码时用的码表与在[b]浏览器端[/b]使用的码表一致就不会出现乱码问题
以下代码可以证明这个结论:
(服务器中request使用utf-8码表进行转码,然后再使用服务器response中gb2312码表进行转码,最后又再将浏览器端设置为使用gb2312码进行转码,这样得到的中文却不是乱码。所以证明了,只要中文数据在 服务器转码 时用的码表与在 浏览器 端使用的码表一致就不会出现乱码问题)
request.setCharacterEncoding("UTF-8");
String username = request.getParameter("username");
response.setCharacterEncoding("gb2312");
response.setContentType("text/html;charset=gb2312");
只要中文数据在[b]服务器[/b]转码时用的码表与在[b]浏览器端[/b]使用的码表一致就不会出现乱码问题
以下代码可以证明这个结论:
(服务器中request使用utf-8码表进行转码,然后再使用服务器response中gb2312码表进行转码,最后又再将浏览器端设置为使用gb2312码进行转码,这样得到的中文却不是乱码。所以证明了,只要中文数据在 服务器转码 时用的码表与在 浏览器 端使用的码表一致就不会出现乱码问题)
request.setCharacterEncoding("UTF-8");
String username = request.getParameter("username");
response.setCharacterEncoding("gb2312");
response.setContentType("text/html;charset=gb2312");