最近写servlet应用发现,如果我的sql语句中包含英文,访问数据库就失败,而我数据库的编码是utf8 -- UTF-8 Unicode,而我servlet的字符也已经转为UTF-8 ,还是不行。
后来多方打听,终于解决了这个问题:
<init-param> <param-name>url</param-name> <param-value>jdbc:mysql://192.168.1.16:3319/tjshop?useUnicode=true&characterEncoding=UTF-8</param-value> </init-param>
在与数据库连接的“url”中添加“?useUnicode=true&characterEncoding=UTF-8”
之前 :jdbc:mysql://192.168.1.16:3319/tjshop
添加后:jdbc:mysql://192.168.1.16:3319/tjshop?useUnicode=true&characterEncoding=UTF-8
其实如果是访问英文字符,不添加也完全没问题,又有涉及到sql语句中包含中文字符,才需要这样设置。
select * from test where name='张三'; 这样的需要添加