JAVAweb中文问题

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

1.首先在页面中设置你的编码,就是为了告诉浏览器,等下发消息给服务器的时候,使用UTF-8编码,你的如果是gb2312就改成gb2312,gbk也一样;

2.页面中form的method修改为post

3.在servlet中解码和编码

request.setCharacterEncoding("UTF-8"); 

并且把这句话放在request.getParameter()之前

以上是使用UTF-8的方式获取中文呢。 也可以使用GBK。把所有的UTF-8替换为GBK即可。 GB2312同理。

4.返回中文的响应   在servlet中加上这句

response.setContentType("text/html; charset=UTF-8");

设置响应编码有两种方式

1. response.setContentType("text/html; charset=UTF-8");

2. response.setCharacterEncoding("UTF-8");

这两种方式都需要在response.getWriter调用之前执行才能生效。

他们的区别在于

1. response.setContentType("text/html; charset=UTF-8");


不仅发送到浏览器的内容会使用UTF-8编码,而且还通知浏览器使用UTF-8编码方式进行显示。所以总能正常显示中文

2. response.setCharacterEncoding("UTF-8");


仅仅是发送的浏览器的内容是UTF-8编码的,至于浏览器是用哪种编码方式显示不管。 所以当浏览器的显示编码方式不是UTF-8的时候,就会看到乱码,需要手动再进行一次设置。

猜你喜欢

转载自blog.csdn.net/QingXu1234/article/details/81354255
今日推荐