sol*_*lid 22 java mysql apache-commons-dbcp
我试图将阿拉伯字母插入mysql数据库,但它只存储"????".我使用DBCP连接mysql数据库,这里是数据源:
<Resource name="jdbc/view_db"
auth="Container"
type="javax.sql.DataSource"
username="root"
password=""
autoReconnect="true"
testOnBorrow="true"
validationQuery = "SELECT 1"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/view_db"
maxActive="50"
maxIdle="10"/>
Run Code Online (Sandbox Code Playgroud)
如何在DBCP配置中设置UTF-8编码或如何使用(useUnicode = yes characterEncoding = UTF-8)?
Mar*_*eel 35
根据DBCP文档,您需要使用connectionProperties
带有值的参数[propertyName=propertyValue;]*
,因此在您的情况下,您应该使用以下内容:
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/view_db"
connectionProperties="useUnicode=yes;characterEncoding=utf8;"
maxActive="50"
Run Code Online (Sandbox Code Playgroud)
(注意结束;
!)
Mon*_*mad 10
我尝试了以下内容,它在Debian Wheezy框中使用tomcat 7.0.40和MySQL 5.5对我有用:
url="jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8"
Run Code Online (Sandbox Code Playgroud)
请注意,&必须表示为&
还要确保你的mysql服务器的my.cnf有以下几行:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
Run Code Online (Sandbox Code Playgroud)
在url
参数中指定它,如下所示:
url="jdbc:mysql://localhost/view_db?useUnicode=yes&characterEncoding=utf8"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
49297 次 |
最近记录: |