如何在DBCP中使用(useUnicode = yes characterEncoding = UTF-8)

我试图将阿拉伯字母插入mysql数据库,但它只存储“????”。 我使用DBCP连接mysql数据库,这里是数据源:

 

如何在DBCP配置中设置UTF-8编码或如何使用(useUnicode = yes characterEncoding = UTF-8)?

根据DBCP文档,您需要使用带有值[propertyName=propertyValue;]*的参数connectionProperties ,因此在您的情况下,您应该使用如下内容:

  driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/view_db" connectionProperties="useUnicode=yes;characterEncoding=utf8;" maxActive="50" 

(注意结束; !)

我尝试了以下内容,它在Debian Wheezy框中使用tomcat 7.0.40和MySQL 5.5对我有用:

 url="jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8" 

请注意,&必须表示为&

还要确保你的mysql服务器的my.cnf有以下几行:

 [client] default-character-set=utf8 [mysql] default-character-set=utf8 

url参数中指定它,如下所示:

 url="jdbc:mysql://localhost/view_db?useUnicode=yes&characterEncoding=utf8"