问题标签 [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.
java - Detecting a utf8mb4 charset requirement
We have a mySQL DB that only supports utf8. But we are getting some data feeds that require utf8mb4 for storing in mySQL. How can we detect (in Java) if a string will require utf8mb4 charset?
java - “不正确的字符串值:”Java & MySQL
我正在处理一些 Twitter 文本,并且在尝试写入数据库时出现以下错误:
不正确的字符串值:'\xF0\x9F\x98\x96\xF0\x9F...'
我读到应该将文本字段设置为 uft8mb4 并且我已经这样做了,但仍然出现错误。关于可能发生的事情有什么想法吗?
mysql - Which data type and collation for full UTF8 support in MySQL
I'm going to store data (mostly Wikipedia page titles) in a table, that can contain characters for which full UTF8 is needed. The schema I'm using is
As you can see, name
is only 191 characters long. When using larger values, then MySQL refuses the creation of UNIQUE KEY name
because such keys can only be 767 bytes long. What are my questions:
- has
name_encoded
to be at leastTEXT
to fully store an URL-encoded (in PHPrawurlencode
) UTF8 string? (I think an 255 byte long string could be represented by a 3060 character long URL in worst case - 255 chars x 4 bytes x 3 chars for encoded representation) - does it matter which collation I use for
name_encoded
(I think not, because URL-encoded they should fit intolatin
) - which data type and collation should I use for
name
to store at least 255 characters with full UTF8 support and to create anUNIQUE KEY
nevertheless (I'd like to use a collation which allows native language sorting)
BTW: I'm using MySQL 5.6 Percona on Debian Wheezy
mysql - 错误 1115 (42000):未知字符集:'utf8mb4'
我有一个 MySQL 转储,我尝试使用以下方法进行恢复:
但是,这引发了错误:
这是第 3231-3233 行:
我正在使用 MySQL 5.1.69。我该如何解决这个错误?
php - PHP 5.2.7 是否支持 utf8mb4
我有两台服务器分别运行以下版本的 PHP 和 MySQL
服务器 1:
服务器 2:
随着 MySQL 版本的更新,MySQL 可以处理utf8mb4_general_ci
因此,在服务器 2的情况下,所有特殊字符(如 ','' 等)都插入数据库中,没有转义斜杠。
但是来到服务器 1
特殊字符没有按原样插入,它显示以下方式It\'s 而不是 It's
所以我怀疑PHP版本是否有所作为?
我在两台服务器上使用同样配置的Codeigniter 。
php - 使用php和MySql处理单引号和双引号插入问题的简单有效方法是什么
我主要使用Php 5.4+ 和 MySql 5.5+ 版本。我在所有项目中都使用Codeigniter。
我面临的问题是
有时(在某些生产服务器上)当 POST 变量包含 ' 或
虽然 php 和 CI 有一个很好的工具来处理这些带有addlashes和mysql_escape_sequence等的字符串
为用户发布的每个可能的变量检查这些条件并不容易
每次我们必须使用addslashes Ex: It\'s 并且在给出输出时我们必须再次应用stripslashes 来输出It's。但是对于较大的值很难处理。
由于数据库将数据保存为它,因此很难搜索这些字符串。
经过几天的挣扎,我发现使用utf8mb4_general_ci优于utf8
因此,我确保 CI 的 Database.php 具有以下内容
我还将各个列的数据类型更改为“ LONGTEXT ”,并将其排序规则更改为“ utf8mb4_general_ci ”
令我惊讶的是,他们为一些服务器工作。
但仍然在某些服务器上,我发现了同样的问题。即使我确保服务器配置与那些工作服务器匹配,这也有点令人沮丧。
所有 php 和 mysql 开发人员如何使用此场景?你采取了哪些预防措施?
请推荐!!
mysql - 错误 1062 (23000):重复的条目“?” 对于具有两个不同条目的键 'PRIMARY'
我正在尝试将包含大量日文汉字字符的表从 SQLite 导入 MySQL。我尝试插入数据的表如下所示:
当我尝试
我得到了下一个错误:
为什么查找''它显示为''?
我认为它可能与 UTF8 编码有关,所以我按照此链接的说明将所有 Db 和表重新配置为 utf8mb4 。
这是mysql的配置:
在那之后没有任何变化......有什么想法吗?
谢谢
此致
python - 如何使用python+MySQLdb创建utf8mb4数据库,mysql命令行已经显示utf8mb4,但数据库还是utf8
我在win7系统下使用Mysql5.6、Mysqldb_1.2.4、python_2.7.3。正如标题所说,我通过更改字符集修改了 Mysql 的配置文件 my.ini。
重启mysql服务后,我使用Mysql命令行:
当我在 mysql 工作台中创建数据库时,我使用这个排序规则——utf8mb4_unicode_ci:
但是,我明白了:
我真的很想知道如何创建一个 utf8mb4 数据库,因为我需要修复 emoj 字符插入数据库的问题,我认为如果我可以创建一个 utf8mb4 数据库就可以解决这个问题。
java - MySQL 更改为 utf8mb4 后,从服务器收到字段 '224' 的错误未知字符集索引
我已将我们的服务器 MySQL 数据库更改为使用 utf8mb4,因为我们需要支持表情。我已按照Mathias Bynens的How to support full Unicode in MySQL databases文章中的说明进行操作。唯一的区别是我没有从 utf8 更改。
这是配置:
这是 MySQLSHOW VARIABLES
输出:
在我重新启动 MySQL 和我的应用程序后,控制台打印了如下错误日志:
登录到我的 CMS 或 API 调用都不起作用。它给了我上面的错误,我无法用谷歌搜索任何解决方案。
为了修复错误,下一步该怎么做?
mysql - 当 Perl 错误地说:“utf8mb4 不是已编译的字符集”时,我怎样才能`DBI->connect()` 连接到 MySQL?
我开始依赖的一个旧 Perl 脚本( mytop ) 在 MySQL 字符集上出现问题。
回报:
和$DBI::errstr
:
然而
,SHOW CHARSET;
两者都揭示了utf8
,utf8mb4
而mysql/charsets/Index.xml
只显示了utf8
。
我发现的一种解决方案是进行编辑mysql/charsets/Index.xml
以进行更改:
<charset name="utf8">
至<charset name="utf8mb4">
这实际上适用于 perl 脚本,但不幸的是从某些 MySQL 客户端(如 MySQL Workbench 和 PHPMyAdmin)中删除utf8
并SHOW CHARSET;
禁用。
我还能如何解决此错误?
显然utf8mb4
已经编译并可用,尽管有错误。我尝试在中添加utf8mb4
别名,<charset name="utf8">
但这Index.xml
也不起作用。
这是我试图过去的相关数据库连接代码:
以下是相关my.cnf
设置: