2

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

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

  • character_set_client
  • 字符集连接
  • 字符集连接
  • 字符集数据库
  • 字符集结果
  • character_set_server
  • 字符集系统

为此,我在 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'

4

1 回答 1

3

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

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

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

于 2013-02-04T09:04:48.053 回答