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

时间:2013-02-04 08:54:10

标签: java mysql linux jdbc utf8mb4

我的应用程序可以部署在Win \ Linux上,并使用MySQL 5.5,它可以存储不同语言的数据。

我将MySQL服务器更改为将以下字符集变量设置为UTF8:

  • character_set_client
  • 是character_set_connection
  • 是character_set_connection
  • character_set_database
  • character_set_results
  • character_set_server
  • character_set_system

为此,我将以下内容添加到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

它在Windows上运行良好(MySQL 5.5.21 64位),但是当我的应用程序在Linux(MySQL 5.5.2 64位)上运行时,我收到以下错误:

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

任何人都知道'utf8mb4'来自哪里,我该如何克服这个?

JDBC驱动程序:'mysql-connector-java-5.1.18-bin'

1 个答案:

答案 0 :(得分:3)

您可以添加到connection-url参数中,例如:

  

JDBC:MySQL的://主机名:3306 / DBNAME了useUnicode =真安培;的characterEncoding = UTF8&安培; characterResultSets = UTF8

主机名 - >可能是localhost或任何其他主机(您可以使用IP地址000.000.0.0指定)