国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
用UTF-8完全解決JSP MYSQL多國語言文字編碼問題

用UTF-8完全解決JSP+MYSQL多國語言文字編碼問題

此問題這是本人經過數(shù)天努力,查遍網(wǎng)上所有此類文章最后自己解決的。轉載請務必注明出處:
http://blog.donews.com/ralix/

首先說明幾點:
在文件中任何時候出現(xiàn)utf-8、UTF-8、utf8、UTF8其作用都是一樣的。tomcat、resin、mysql可沒有我們這么笨。網(wǎng)上許多文章還煞有介事的特別指出其一個個的區(qū)別,純屬無稽之談。

我的軟件環(huán)境:
中文WINDOWS XP (linux可作相應修改)
Apache Tomcat 5.5.6 Server
phpMyAdmin 2.6.4-pl4
MySQL 5.0.19-nt

按下面步驟修改:

一、在JSP靜態(tài)文件中正確顯示UTF-8:

1、JSP文件用支持UTF-8的文字編輯器編輯,如EditPlus、UltraEdit,并把原來ascii轉換成utf-8(菜單里有)。

2、JSP文件頭改成:
<%@ page contentType="text/html; charset=UTF-8" language="java"  import="java.sql.*"%>
有無這句無所謂(但在.html文件中是必要的):
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
</head>

二、FORM的正確提交:

1、getParameter之前加入:
request.setCharacterEncoding("utf-8");
這一步也可以用Filter的辦法,參見其它文章。

2、request時,只需要寫成最簡單的形式:
String name1= new String(request.getParameter("username"));
String pwd1= new String(request.getParameter("password"));

三、連接mysql:

1、mysql配置文件:
修改mysql在windows\my.ini里default-character-set=utf-8

2、mysql里數(shù)據(jù)庫和表也都設為utf8_unicode_ci

3、數(shù)據(jù)庫連結:jdbc:mysql://localhost/mydb?useUnicode=true&characterEncoding=utf-8
注意,關鍵就在于此:此句中間是‘&‘不是‘&‘在www.Jdon.com的banq和許多牛人的文章中都寫成了‘&‘。這可能是發(fā)文章時html自動轉化的。但這的確給我們帶來了很大的麻煩。會產生如下錯誤或問號:
java.sql.SQLException: Syntax error or access violation, message from server: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘‘asdf‘ at line 1"


至此,在頁面上顯示中文、從數(shù)據(jù)庫讀取并顯示、插入、修改中文都正常了。
并且由于是utf-8,您可以試一下,在form里同時輸入中文、英文、日文、韓文,照樣正常顯示。

PS:
雖然沒有完全測試過,但在我的使用中操作系統(tǒng)、JDK、TOMCAT或resin的編碼對此問題沒有造成影響。
我測試時resin初始化顯示的JDK就是GBK、zh,但沒有問題。
另外,.java文件是utf-8還是ascii編碼都沒有關系,生成的.class一樣能用。

經樓下朋友的提醒,我需要補充一下:
1、數(shù)據(jù)庫連結時,在.jsp和.java文件中應該用&號,而XML文件中需要用& 這也是banq的本意。只是我們太菜沒能直接領會。
2、在我的測試中,connector-J已經是3.0以上但如果不加useUnicode=true&characterEncoding=utf-8訪問數(shù)據(jù)庫還是會有問題。所以建議還是加上。

PS2:
對用GET提交的中文問題,修改tomcat/conf/server.xml
<Connector acceptCount=‘100‘ connectionTimeout=‘20000‘  .../>最后加入:URIEncoding=‘utf-8‘

PS3:
最近發(fā)現(xiàn)MYSQL在windows/my.ini里,必須寫成utf8,這是與mysql/share/charsets里的編碼相對應的。


大功告成,語言大統(tǒng)。

 



Trackback: http://tb.donews.net/TrackBack.aspx?PostId=777696

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
JSP+ MySQL中文亂碼問題post提交亂碼解決方案
jsp頁面 中文亂碼問題2
JAVA中文字符編碼亂碼詳述(非常全,詳細,從文件編碼,編譯說起)
java web開發(fā)過程中的編碼問題完全解決方案
JAVA中文字符編碼問題詳解 控制臺輸出,字符編碼格式轉換
解決Mysql+Java的中文亂碼問題(學習心得)
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服