JSP/JDBC MySQL亂碼問題~~~
來源:互聯網
上載者:User
js|mysql|問題 綠起:
JSP的request 預設為ISO8859_1,所以在處理中文的時候,
要顯示中文的話,必須轉成GBK的,如下
String str=new String(request.getParameter("name").getBytes("ISO8859-1"),"GBK");
out.println(str);
這樣就可以顯示中文了
MYSQL操作時的中文問題:
這個要看MySQL的預設編碼了,一般不調整的話為latin1其實和ISO8859_1一樣,所以操作的時候要處理和他一致,不然就會亂碼的
1.插入中文:
String sql2="INSERT INTO test (name) VALUES('"+request.getParameter("name")+"')";
stmt.executeUpdate(sql2);
不用編碼就可以插入了
2.顯示插入的中文:
因為存入的是latin,所以顯示的時候就要GBK一下
String x=new String((rs.getString("title")).getBytes("ISO8859_1"),"GBK");
out.println(x);
3.設定儲存編碼:
當然在MySQL為latin1編碼時,也可以存的時候用GBK了
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/jsp?useUnicode=true&characterEncoding=GBK","root","");
str1="中文";
String sql2="INSERT INTO test (name) VALUES('"+str1+"')";
這樣也可以很成功的插入了,呵呵
PS:老是忘記這個了~~~做個記號
Q:JBuilder如何安裝JDBC driver
A:首先,取得資料庫的JDBC的驅動,如Oracle的叫 Class12.zip,解開了一般都會包含一個jar的包,把該包或者多個檔案加入到JBuilder的Library中。在工程屬性中指定使用該檔案。以上完成的其實就是把該檔案增加到工程的ClassPath中去 ,如果大家還不明白可以參看JBuilder的協助檔案 ,如果你是用的是Borland的資料庫組件可以參看JBuilder光碟片中的文檔。
你可以在點選 JBuilder 選單 Tools-->Enterprise Setup-->Database drivers. 建立一個新的 Library 裡麵包含此 JDBC Driver 的 xxx.jar ,將您的 JDBC Driver xxx.jar 置於某個不含 Space 的路徑 (例如 C:\JBuilder7\Lib\xxx.jar) 後按對話方塊中左下角 New 按鈕,出現 New Library Wizard 對話方塊為該 JDBC Driver Library 命名,接著將C:\JBuilder7\Lib\xxx.jar加到Library Path 內.完成後按下 OK,結束 New Library Wizard 對話方塊.若該 JDBC Driver 有包含原始程式碼及 JavaDoc , 在Configure Libraries 對話方塊右方一併加入. 完成後重新啟用 JBuilder.啟用 Database Pilot 測試,這次紅字就會變成正常的黑字了.