Java 在linux上将MySQL字符集更改为UTF8,以便它可以与JDBC一起工作
我的应用程序可以部署在Win\Linux上,使用MySQL 5.5,可以用不同的语言存储数据 我将MySQL服务器更改为将以下字符集变量设置为UTF8:Java 在linux上将MySQL字符集更改为UTF8,以便它可以与JDBC一起工作,java,mysql,linux,jdbc,utf8mb4,Java,Mysql,Linux,Jdbc,Utf8mb4,我的应用程序可以部署在Win\Linux上,使用MySQL 5.5,可以用不同的语言存储数据 我将MySQL服务器更改为将以下字符集变量设置为UTF8: 字符集客户端 字符集连接 字符集连接 字符集数据库 字符集结果 字符集服务器 字符集系统 为此,我在my.ini中添加了以下内容: [mysql] default-character-set=utf8 [mysqld] init_connect='SET collation_connection = utf8_unicode_ci'
- 字符集客户端
- 字符集连接
- 字符集连接
- 字符集数据库
- 字符集结果
- 字符集服务器
- 字符集系统
[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”您只需向
连接url添加如下参数:
jdbc:mysql://hostname:3306/dbname?useUnicode=true&characterEncoding=utf8&characterResultSets=utf8
主机名->可以是localhost
或任何其他主机(您可以使用ip地址000.000.0.0
指定)您在Linux上的mysql版本是什么?Linux上的mysql版本:5.5.2 64位尝试将其升级到5.5.3或更高版本。检查您的mysql是否使用了/etc/mysql/my.cnf而不是my.ini。似乎mysql得到了我正在更改的配置,所以我认为使用错误的文件不是问题。