JSP中文乱码&#383

 
Napisz nowy temat   Odpowiedz do tematu    Forum Naukowe Koło Chemików Uniwersytetu Gdańskiego Strona Główna -> Hyde Park
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
ghdhair100
Ununokt



Dołączył: 15 Gru 2010
Posty: 1876
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: England

PostWysłany: Wto 11:21, 08 Mar 2011    Temat postu: JSP中文乱码&#383

在使用JSP的过程中,最使人头疼的一个问题就是中文乱码问题,以下是在软件开发中遇到的乱码问题以及解决方法。   1、JSP页面乱码
  这种乱码的原因是应为没有在页面里指定使用的字符集编码,解决方法:只要在页面开始地方用下面代码指定字符集编码即可。
  2、数据库乱码
  这种乱码会使你插入数据库的中文变成乱码,或者读出显示时也是乱码,解决方法如下:
在数据库连接字符串中加入编码字符集
String Url="jdbc:mysql://localhost/digitgulf?user=root&password=root&useUnicode=true&characterEncoding=GB2312";
并在页面中使用如下代码:
response.setContentType("text/html;charset=gb2312");
request.setCharacterEncoding("gb2312");
  3、中文作为参数传递乱码
  当我们把一段中文字符作为参数传递个另一页面时,也会出现乱码情况,解决方法如下:
在参数传递时对参数编码,比如
RearshRes.jsp?keywords=" + java.net.URLEncoder.encode(keywords)
然后在接收参数页面使用如下语句接收
keywords=new String(request.getParameter("keywords").getBytes("8859_1"));
  4、JSP页面乱码加这句
<page>
5、在form中用get方法传参乱码解决方法
如:
1、 login.jsp
<page>
<html>
<head>
<title>get传参乱码问题</title>
</head>
<body>
<form>
<input><br>
<input><input>
</form>
</body>
</html>
============
2、login_do.jsp
<page>
<String>
6、在ajax中url传中文参数时乱码要注意的地方:
例如下面这个方法:
//增加类别函数
function addSort(){
var name = document.getElementById("name").value; //取得id为name的文本框的值(中文的)
if(name==""){
alert("类别名称不能为空,[link widoczny dla zalogowanych]!");
document.getElementById("name").focus();
return false;
}
var url = "action=add&name="+name; //这个name是中文参数
createXMLHttpRequest();
XMLHttpReq.onreadystatechange = AddStateChange;
XMLHttpReq.open("POST","adminSort",[link widoczny dla zalogowanych],true); //通过post方式传送
XMLHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
XMLHttpReq.send(url);
}
============
在servlet中获取参数的时候:
//解决url中文参数乱码的关键是这里,因为post方法提交数据默认的字符编码是utf-8,
//如果后台是gb2312或其他编码数据就会产生乱码,所以这里也要将请求参数设为utf-8
//尽管你的jsp页面是c
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
当输出返回信息时:
response.setContentType("text/xml;charset=UTF-8");
//这里有点怪,当设为GBK时,ie显示不正常,[link widoczny dla zalogowanych],firefox则正常,设为utf-8时,两者都显示正常
Many years ago there lived an Emperor who was so exceedingly fond of fine new clothes that he spent vast sums of money on dress. To him clothes meant more than anything else in the world. He took no interes
related links:


[link widoczny dla zalogowanych]


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Naukowe Koło Chemików Uniwersytetu Gdańskiego Strona Główna -> Hyde Park Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


Bluetab template design by FF8Jake of FFD
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2002 phpBB Group
Regulamin