MySQL 的 UTF-8 字符支持

标签 mysql utf-8

我遇到了这个异常 java.sql.SQLException: Incorrect string value: '\xC2\x99 Adm...' for column 尝试在 MySQL 表中插入值时。我发现 \xC2\x99 映射到 U+0099(或\u0099),这是一个 2 字节字符。从文档中可以看出,MySQL 的 UTF-8 支持 3 字节或更少的字符。我还阅读了有关 utfmb4 的信息,但由于此字符为 2 字节并且仍然出现此错误,因此问题可能出在其他方面。请提出建议。

最佳答案

看起来您正在使用默认排序规则 latin1_swedish_ci 而您应该使用 utf8_general_ci 因为您打算将 UTF-8 数据存储在柱子。查看 Character Sets and Collations in MySQL 上的 MySQL 文档

您可以使用ALTER 命令来更改排序规则字符集

ALTER TABLE your_table CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

关于MySQL 的 UTF-8 字符支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39641933/

相关文章:

java - 浏览器自动检测 utf-8,希伯来语

php - UTF-8贯穿始终

mysql - 在经典 ASP 站点中查找 MySql 凭据

java - 我需要 JavaScript 来进行打印吗

mysql - 如何根据某些值和重复项排除行

当#include<stack> 和#include<queue> 时,C++ 程序不会编译

java - 没有 "?characterEncoding=UTF-8"的不正确字符串值

c# - 通过使用准备语句在 C# 中查询 Utf-8

MySQL 大师 : How to pull a complex grid of data from MySQL database with one query?

java - JDBC准备好的语句/引用另一个准备好的语句中的准备好的语句