问题标签 [utf8mb4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
14492 浏览

mysql - Mysql 服务器不支持 4 字节编码的 utf8 字符

我收到了从 Sql Server 到 MySql db 运行数据传输组件的服务器错误。错误信息如下:

[MySql][ODBC 5.1 Driver][mysqld-5.0.67-community-nt-log]Server does not support 4-byte encoded UTF8 characters.

源 Sql Server 表包含 nvarchar 列,目标 MySql 表包含 varchar 列。

任何人都可以阐明这个问题吗?

0 投票
3 回答
2520 浏览

mysql - MySQL 不想存储 unicode 字符

为什么 MySQL 不存储 unicode 字符?是的,它是一种罕见的象形文字,你不会在浏览器中看到它。
UTF16 是U+2B5EE

是否可以将这个字符存储在 MySQL 中?

0 投票
4 回答
2487 浏览

mysql - '' 不是有效的 unicode 字符,但在 unicode 字符集中?

短篇小说:我无法将像“

0 投票
2 回答
933 浏览

mysql - 为什么 ruby​​ 检测不到无效编码,而 mysql 检测到无效编码?

我正在从 YouTube 中提取一些 UTF8 无效的 RSS 提要。我可以使用创建一个类似的 ruby​​ 字符串

Ruby 认为这是一种有效的 UTF-8 编码,我很确定它不是。

与 Mysql 交谈时出现这样的错误

在将它们发送到 MySQL 之前,如何检测或修复这些无效类型的编码?

0 投票
3 回答
54054 浏览

mysql - MySQL VARCHAR(255) UTF8 对于密钥来说太长,但最大长度为 1000 字节

我知道对此有很多问题,但我认为我的数学是正确的。

  • MySQL 为每个 UTF8 字符保留 3 个字节。
  • MyISAM 允许长度为 1000 字节的密钥。
  • 我的 UTF8 VARCHAR(255)应该255 * 3 = 765字节

除非 UNQUE 每个条目需要额外的 200+ 字节,否则为什么这不起作用?

对此我能做些什么吗?

编辑:

事实证明限制是 ​​250。对于唯一索引,字符似乎计为 4 个字节,但我不知道为什么。

编辑2:

感谢 Vladislav Vaintroub,字符集确实是 utf8mb4。这就解开了谜团。我没有看到任何有关此更改的文档。

我猜它通过隐式截断字段来构建非唯一索引,这对于唯一索引是不可接受的,因此它拒绝。

如果您重新输入您的评论作为答案,我很乐意接受。

解决方案:指定 utf8,而不是 utf8mb4(MySQL Admin 不允许这样做,所以手动创建表)

0 投票
1 回答
2962 浏览

java - 从XML解析,插入到mysql;字符给出 java.sql.SQLException: 不正确的字符串值

我正在解析一堆 XML 文件并将从它们获得的值插入到 MySQL 数据库中。mysql表的字符集设置为utf8。我正在使用以下连接 url 连接到数据库 -jdbc:mysql://localhost:3306/articles_data?useUnicode=false&characterEncoding=utf8

大多数带有 unicode 字符的字符串值都可以正常输入(如希腊字母等),除了一些带有数学符号的字符串值。特别是一个例子 - 当我尝试插入一个带有数学脚本大写 g 的字符串时(img at www.ncbi.nlm.nih.gov/corehtml/pmc/pmcents/1D4A2.gif)(http://graphemica.com/) (试图解析并插入这篇文章),我得到以下异常 -

如果我将连接 URL 更改为 - jdbc:mysql://localhost:3306/articles_data,则插入有效,但所有常规 UTF8 字符都替换为问号。

我试图修复它有两种可能的方法,但都没有成功 -

  1. 解析文章时,保持编码。我org.apache.xerces.parsers.DOMParser用来解析 xml 文件,但不知道如何防止它解码(相关 XML - <p>&#x1d4a2; is a set containing...</p>)。我可以重新编码它,但这似乎效率低下。

  2. 将数学符号插入数据库。

0 投票
2 回答
78470 浏览

iphone - 如何在 mysql 中插入 utf-8 mb4 字符(ios5 中的表情符号)?

我正在使用 mysql 5.5.10,它的字符集是

我将 utf8mb4 从 utf8 更改为 iOS5 的表情符号。它们由 4 字节代码表示。

但是当我插入 3 个笑脸表情符号时,'???' 是在mysql中。

它们是 3F 3F 3F(十六进制)。

我可以很好地存储 iOS4 的表情符号,但不能存储 iOS5 的。

我如何存储 iOS5 的表情符号?

请帮我。

0 投票
2 回答
1575 浏览

mysql - How to save a Chinese character in MySQL

I am unable to save the character on mySQL 5.5. I have tried collation utf8mb4 and utf32. I have to store both Chinese and English characters in the same table.

0 投票
1 回答
1237 浏览

mysql - 如何为新的 RDS MySQL 实例初始化字符集设置

我想为我的 Amazon RDS 服务器设置以下变量,当我创建新的 RDS 实例时,我在哪里提供此设置?

character_set_server=utf8mb4

注意:我希望这些设置是永久的,我不想在每次重新启动服务器时都修改它们。

0 投票
5 回答
40924 浏览

mysql - MySQL抛出不正确的字符串值错误

我正在尝试将以下推文存储到长文本列/utf8 字符集/MySQL 5.5 中。启用 MyISAM 存储的数据库。

我们还尝试了 utf8mb4、utf16、utf32 字符集,但无法解决这个问题。