冷战女生要主动联系吗:MySQL Hibernate 集成时中文乱码处理
来源:百度文库 编辑:偶看新闻 时间:2024/04/30 03:34:26
当时很头疼,做了很长时间的javaEE,怎么还有这样的问题存在,当时查了很多资料,感觉都不能满意,终于有一次在google上面看英文的解说(英语不好,一般都是跳过英文的),老外的意思是需要在Hibernate连接数据库的字符串里面追加字符编码格式,比如请求hello这个数据库,那么请求的连接字符是:
- jdbc:mysql://127.0.0.1:3306/hello?useUnicode=true&characterEncoding=UTF-8
但是连接了,发现界面和后台答应出来的还是“???”,.当时特别郁闷,没办法,还是继续看国外的一些文章,最后终于明白,这种写法是没有问题的,关键的错误问题的存在“&”,要把上面的“&”修改为“&”,我实验了一些,结果这种方式的确可以解决“??”这种情况
完整的写法:jdbc:mysql://127.0.0.1:3306/hello?useUnicode=true&characterEncoding=UTF-8
所以以后大家如果出现了这种问题,就需要为Hibernate的连接url添加字符编码了哦!
========================================
mysql官方提供的JDBCDriver,其JAVA类名为:com.mysql.jdbc.Driver
mysql JDBC URL格式如下:
jdbc:mysql://[host:port]/[database][?参数名1][=参数值1][&参数名2][=参数值2]...
参数名称
user
password
useUnicode
characterEncoding
autoReconnect
autoReconnectForPools
failOverReadOnly
maxReconnectsautoReconnect
initialTimeoutautoReconnect
connectTimeout
socketTimeout
对应中文环境,通常mysql连接URL可以设置为:
jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=gbk&autoReconnect=true&failOverReadOnly=false
在使用数据库连接池的情况下,最好设置如下两个参数:
autoReconnect=true&failOverReadOnly=false
需要注意的是,在xml配置文件中,url中的&符号需要转义。比如在tomcat的server.xml中配置数据库连接池时,mysqljdbc url样例如下:
jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=gbk
&autoReconnect=true&failOverReadOnly=false
Trackback:http://tb.blog.csdn.net/TrackBack.aspx?PostId=569304