Posted on 2006-02-27 09:27
qiqijava 閱讀(758)
評論(0) 編輯 收藏
解決這類問題的方法很多,今天在此簡單的終結一下,把常碰到的問題解決方法記下來!
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中測試過,沒有錯誤!在此僅供大家借鑒,具體情況還得具體分析!