如果开发的Web应用只供中文用户使用的话,就无须考虑国际化问题。但实践证明,在Web应用的中文问题上经常碰到乱码的晴空。
下面列举了Web应用开发过程中常见的几个中文问题及其解决办法。
1、解决HTML页面中的中文问题
为了使HTMl页面很好的支持中文,就必须在每个HTMl页面的头部增加如下代码:
<HEAD>
...
<META http-equiv=Content-Type content="text/html;charset=gb2312">
...
</HEAD>
2、解决JSP页面中的中文问题
为了使JSP页面很好的支持中文,就必须在每个JSP页面的头部增加如下代码
<%@ page contentType="text/html;charset=gb2312" language="java"%>
3、解决Servlet响应结果的中文问题response.setChracterEncoding("gb2312");
4、解决页面数据传输的中文问题为了使中文数据在各页面(组件)之间正常传递,最佳的诶办法就是采用编码过滤器来解决。在WEB.xml中配置一个编码过滤器,内容如下:
<filter>
<filter-name>encondingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncoding</filter-class><init-param>
<param>encoding</param><param>gb2312</param>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern></filter-mapping>
5、解决HTTP(get)请求中的中文问题
String parameter = request.getParameter("parameter");
if(parameter!=null)
parameter=new String(parametr.getBytes("ISO-8859-1"),"gb2312");如果我们在应用中请求参数很多的情况下,也可以通过Tomcat的Server.xml文件来解决。<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"; useBodyEncodingForURI="true">
6、解决MySOL数据库中文问题
jdbc.mysql://localhost/test?user=root&password&useUnicode=true&characterEncoding=gb2312
7、今天在做将由word生成的html文件转成字符串时出现了编码问题,读取的时候使用BufferedRead输入流进行按行读取的,然后再转成字符时使用了字节编码。览器以HTTP头中指定的方式解码字符,这时无论是用GBK还是UTF-8解码,显示的都是乱码。解决这个乱码问题方法是使用InputStreamReader来转换字符编码,如:
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("D:\\test.txt"),"utf-8"));
Web应用中的本地化
最新推荐文章于 2019-02-22 09:41:00 发布