我的应用程序可以部署在Win\Linux上,使用MySQL 5.5,并且可以存储不同语言的数据。
我更改了 MySQL 服务器,将以下字符集变量设置为 UTF8:
- 字符集客户端
- character_set_connection
- character_set_connection
- 字符集数据库
- 字符集结果
- 字符集服务器
- 字符集系统
为此,我将以下内容添加到 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'
最佳答案
您可以添加到您的 connection-url
参数,例如:
jdbc:mysql://hostname:3306/dbname?useUnicode=true&characterEncoding=utf8&characterResultSets=utf8
主机名 -> 可以是 localhost
或任何其他主机(您可以使用 IP 地址 000.000.0.0
指定)
关于java - 在 Linux 上将 MySQL 字符集更改为 UTF8,以便它可以与 JDBC 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14683254/