js|mysql|編碼|漢字|解決|資料|資料庫|資料庫連接|問題|中文
解決這類問題的方法很多,今天在此簡單的終結一下,把常碰到的問題解決方案記下來!
1, MySQL5.0中文問題解決方案如下:
1、在dos環境下,用mysql --default-character-set=gbk -u root -p 這句話進入mysql~~
2、建資料庫、表,如下:
create database admin;
use admin;
CREATE TABLE admin (
admin_name char(20) NOT NULL,
admin_password char(20) NOT NULL
) TYPE=MyISAM,
default character set gbk;
2, JDBC的設定問題:(這裡主要講的是mysql-connector-java-3.1.8這個JDBC驅動程式而言)
這隻是一個壓縮包,並不需要安裝,只要將其解壓,使用的是檔案夾mysql-connector-java-3.1.8裡的檔案:mysql-connector-java-3.1.8-bin.jar.
需要配置環境變數的是JDBC驅動.在配置前先要把剛才說到的mysql-connector-java-3.1.8-bin.jar放到本地硬碟某處(我放的地方:E:\JAVA\MySQLJDBC),然後根據你放的地方,配置classpath,我的配置是這樣的:
.;E:\Java\j2se5.0\lib\tools.jar; E:\Java\j2se5.0\lib\mysql-connector-java-3.1.8-bin-g.jar; E:\JAVA\MySQLJDBC\mysql-connector-java-3.1.8-bin.jar
配置這個的目的是讓你的java應用程式找到串連mysql的驅動.
配置完環境變數後還有很重要一步就是為JSP串連資料庫配置驅動,這個其實很簡單,就是把mysql-connector-java-3.1.8-bin.jar拷到某些檔案夾裡就行了,我在網上看了很多資料問了很多人,各種說法都有,我綜合了一下,為了保險,我都全做了,呵呵,反正就是拷一個400K的檔案而已,現列出要把mysql-connector-java-3.1.8-bin.jar拷進去的檔案夾,如下:
E:\Java\Tomcat5.0\common\lib
E:\Java\Tomcat5.0\shared\lib
一般情況下只要考到Tomcat5.0上面的兩個問題夾裡面就可以解決問題了,如果需要,也可以將mysql-connector-java-3.1.8-bin.jar這個驅動檔案拷貝到你的WEB網站的 …\WEB-INF\lib 目錄下面。
3, Eclipse中資料庫外掛程式中操作資料庫時的中文編碼問題:
當在Eclipse中裝上來你所喜歡的資料庫外掛程式的時候,都會出現在你查詢某一個資料庫之後出現記錄中的漢字亂碼。解決方案很簡單,
只要在你建立資料庫連接的時候把URL設定成下面這個樣子就可以了:
URL= jdbc:mysql://localhost:3306/?useUnicode=true&characterEncoding=GBK
4, 在JSP網頁編輯中個人經驗:在經過很多的次調試之後,發現在裝了myeclipse之後,有這麼條小巧:
①在用myeclipse編寫HTML檔案時charset=GBK設定成這個樣子,那麼在瀏覽器中瀏覽時就不會出現亂碼;
②而在用myeclipse編輯JSP檔案時,<%@ page contentType="text/html;charset=GB2312" %>設定成這樣子,且這條語句必須是整個JSP檔案的第一條語句,就可以避免JSP檔案在瀏覽器中顯示時出現亂碼;
③對於如果在JSP網頁中要從HTML頁面中接收資料,那麼在JSP中的接收語句的漢字編碼應與資料來源的HTML的漢字編碼相同;例如②中的HTML的漢字編碼為charset=GBK,那麼在JSP中的接收語句就應該這樣設定:request.setCharacterEncoding("GBK");如果還要將接受的資料插入到資料庫中(以插入MySQL5.0資料庫為例),那麼在插入資料庫時的漢字編碼也應與HTML檔案中的漢字編碼相同,我的設定如下:con= DriverManager.getConnection("jdbc:mysql://localhost:3306/sample_db?user=dazern&password=5201314&useUnicode=true&characterEncoding=GBK");這樣設定後資料庫中的資料才不會亂碼.
以上經驗都是在myeclipse3.8.3+Tomcat5.0.28中測試過,沒有錯誤!在此僅供大家借鑒,具體情況還得具體分析!