首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

java url中的中文章有关问题

2012-10-08 
java url中的中文章问题根据页面设置的编码,在以get方式传值的时候在后台处理的时候%@ page contentType

java url中的中文章问题
根据页面设置的编码,在以get方式传值的时候


在后台处理的时候

<%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8" %>2,在Jsp的html代码中,声明UTF-8:
Java代码
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">  

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
3,设定数据库连接方式是UTF-8。例如连接MYSQL时配置URL如下: Java代码
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8  

jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8

动态控制
将所有来自浏览器的请求(request)转换为utf-8,因为浏览器发过来的请求包根据浏览器所在的操作系统编码,可能是各种形式编码。关键一句:
Java代码
request.setCharacterEncoding("utf-8")  

request.setCharacterEncoding("utf-8")
*需要注意的是:以上这种方式只对post方式传值有效,对get方式无效。

使用get方式传值时的临时解决方案
Java代码
String strDisplay = new String(strParm.getBytes("ISO8859-1"), "utf-8");    

String strDisplay = new String(strParm.getBytes("ISO8859-1"), "utf-8");  

使用get方式传值时的完整解决方案——服务器方面的修改
在tomcat根目录中找到conf目录,在server.xml中找到<Connector>结点,做如下修改:
Java代码
<Connector port="8080" protocol="HTTP/1.1"   
           connectionTimeout="20000"   
           redirectPort="8443" 
           URIEncoding="utf-8" /> 

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               URIEncoding="utf-8" />加上红字部分,这样就可以完全解决get方式传值时的乱码问题。但是由于这样的方案是对服务器本身设置的修改,所以会影响其它程序的运行。

热点排行