Tomcat服务器上某个应用下有个html文件,现在想让客户端访问时以指定字符集打开这个页面。譬如以UTF-8打开这个页面,那么我们只要保证做到两点:
① 编辑好html文件后保存时指定以UTF-8格式保存,此过程相当于编码过程。
② 在html文件的<head>里加上如下代码
:<meta equiv-http="content-type" content="text/html; charset=UTF-8">
上面代码相当于模拟了一个响应头,响应头的名称为"content-type",值为"text/html; charset=UTF-8"。这就是告诉浏览器,"我"给你返回的是一个html文件(text/html),文件的编码为UTF-8(charset=UTF-8),所以"你"必须调用浏览器程序,使用UTF-8进行解码并显示页面。这样的话,就可以保证文件的编码与浏览器的解码的格式一致,也就不会出现乱码了。
做到了以上两点,然后在浏览器里请求访问服务器的html文件,这时浏览器就会按照你指定的字符编码进行显示。同理,如果将文件以GBK编码保存,并且文件中设置了charset=GBK的话,浏览器就会以GBK解码然后显示页面。
如果以MyEclipse进行开发的话,会更方便。因为在MyEclipse中新建一个html文件,只要在文件中设置了<meta http-equiv="Content-Type" content="text/html; charset=GBK">,保存时就会自动以文件中charset指定的格式进行保存。查看文件是以何种编码进行保存的,可以右击文件->Properties->Resource->Text file encoding,比较这里的编码和文件中的charset设置,可以发现两者是一致的。