回复disizhishou(第四只手) ,我如果用GBK,除常用字外,冷僻字还是不能正确转换,提示大致如下 SQLState=42W04;ErrorCode=102;ErrorMessage=ASA Error -131;Syntax error near '喆' WHERE "zth"=1' 错误的SQL语句是:UPDATE "zjgl_zt" SET "dwmc"='? WHERE "zth"=1 正确的SQL语句是:UPDATE "zjgl_zt" SET "dwmc"='喆' WHERE "zth"=1 好象在Java Servlet中只要转换包含有冷僻字的字符集,就会出错.所以我就将转换字符集的代码去掉 了,为了使数据库的字符集与Servlet一致,所以将数据库的字符集设置为iso_1。这样虽然可以解决 问题,但不知为什么用iso_1也能正确显示汉字,是不是JDBC或操作系统自动转换了,必须知道其原因 才能放心的使用这种方案. 希望继续与大家讨论。
至于
SQLState=42W04;ErrorCode=102;ErrorMessage=ASA Error -131;Syntax error
near '喆' WHERE "zth"=1'
错误的SQL语句是:UPDATE "zjgl_zt" SET "dwmc"='? WHERE "zth"=1
正确的SQL语句是:UPDATE "zjgl_zt" SET "dwmc"='喆' WHERE "zth"=1
好象在Java Servlet中只要转换包含有冷僻字的字符集,就会出错.所以我就将转换字符集的代码去掉
了,为了使数据库的字符集与Servlet一致,所以将数据库的字符集设置为iso_1。这样虽然可以解决
问题,但不知为什么用iso_1也能正确显示汉字,是不是JDBC或操作系统自动转换了,必须知道其原因
才能放心的使用这种方案.
希望继续与大家讨论。
换成GBK,换成GBK就好了!
可能输入--->数据库--->输出,这三者之间的字符集要统一才行!
换成contentType="text/html; charset=GBK"
试试