看了benq的中文終極解決之道最後一點問題

ralix發表於2006-03-19
看了benq的中文問題終極解決之道,執行了下面步驟:

JSP檔案頭:
<%@ page contentType="text/html;charset=utf-8" %>

getParameter之前:
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");

request時:
String name1= new String(request.getParameter("username"));
String pwd1= new String(request.getParameter("password"));

連線mysql時:
jdbc:mysql://localhost/mydb?useUnicode=true&characterEncoding=utf-8

配置檔案:
mysql在windows\my.ini裡default-character-set=utf-8
mysql裡資料庫和表也都是utf-8

軟體版本:
Apache Tomcat 5.5.6 Server
phpMyAdmin 2.6.4-pl4
MySQL 5.0.19-nt

至此,在頁面上顯示中文和從資料庫讀取並顯示中文都正常。
但還剩最後一個問題,就是getParameter之後向資料庫寫入中文時出現下面錯誤:

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"

但寫入英文沒有任何問題。。

SQL語句如下:
String strSQL="INSERT INTO login ( username , password ) VALUES ('"+name1+"','"+pwd1+"')";


還有哪裡有問題?是Tomcat的編碼問題嗎??
請大家幫忙解決。謝謝了。

相關文章