我们知道中文编码可以有 GBK、gb2312、utf-8等,因此在进行编程时,需要统一编码,否则在显示
中文时就会出现乱码。从day05 讲的有关 http协议知识我们知道,向服务发送请求时,我们可以通过请求
头的 Accept-Charset 字段告诉服务器,客户机采用的编码格式;而服务器可以通过响应头的
Content-Encoding字段告知客户机,服务端返回数据的编码格式。因此服务端跟客户端需要沟通好统一
字符编码。
因此安卓默认的编码是 utf-8,因此为了开发方便,我们建议在以后的开发中,开发环境的编码都设置
成 utf-8。Tomcat服务器在获取参数时,默认编码不是"UTF-8",一般是"ISO-8859-1",此时要如何处理呢?
主要思路是这样的:先把以"ISO-8859-1"(假设是这种编码,如果不是也无所谓)编码获取的数据转为最原
始的二进码数据,然后再对该二进制数据以"UTF-8"格式进行重新编码,如下面代码所示
new String(“字符串”.getBytes(“ISO-8859-1”),”utf-8”);
在 Servlet中服务端告诉客户端编码的 api 如下:
//通过 http 协议告知浏览器 是什么样的编码
response.setCharacterEncoding("utf-8"); |
|