linux mysql_real_connect utf8,在Linux上将MySQL字符集更改为UTF8,以便它可以与JDBC一起使用...

My application can be deployed on Win\Linux, and uses MySQL 5.5, and it may store data in different languages.

I changed my MySQL server to have the following charset variables set to UTF8:

character_set_client

character_set_connection

character_set_connection

character_set_database

character_set_results

character_set_server

character_set_system

To do so, I added the following to my.ini:

[mysql]

default-character-set=utf8

[mysqld]

init_connect='SET collation_connection = utf8_unicode_ci'

init_connect='SET NAMES utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

It worked well on Windows (MySQL 5.5.21 64 bit), but when my application run on Linux (MySQL 5.5.2 64 bit) I'm getting the following error:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown character set: 'utf8mb4'

Anyone knows where does 'utf8mb4' came from and how can I overcome this?

JDBC driver: 'mysql-connector-java-5.1.18-bin'

解决方案

You can just to add to your connection-url params like:

jdbc:mysql://hostname:3306/dbname?useUnicode=true&characterEncoding=utf8&characterResultSets=utf8

hostname -> may be localhost or any other host(you can specify with ip address 000.000.0.0)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值