如何处理url中的特殊字符("%等)和中文字的混合?
我的程序大概如下:
从mysql中取出(数据库字符集和显示的字符集都已经设置为UTF-8)的中文字串:
static final private String CONTENT_TYPE = "text/html; charset=UTF-8";
response.setContentType(CONTENT_TYPE);
request.setCharacterEncoding("UTF-8");
conn = DriverManager.getConnection("jdbc:mysql://server/DB?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8","sa","");
显示中文字,向数据插入数据库都没有问题。
但是url中的特殊字符(&#"%等)会出问题??
例如:name=姓名#01
下面有一个url连接:
<a href=name>姓名</a>
点击这个连接之后取得数据为:
request.getParameter("name")=姓名 后面的#01就丢失了
我不知道该如何对url进行编码和解码得出正确的字符串,并正确UTF-8显示。
我试过的方法有:
name = java.net.URLEncoder.encode(name)
1,然后显示就会出现????#01 ,取出的中文就出了问题
2,我用 new String(request.getParameter("name").getByte(),"UTF-8") 也不行
3,我也把name转换过Base64但是显示的中文不全,只有:姓??#01
哪为大虾能告诉我问题出在那里????????着急啊。。。。。。