问题标签 [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.
mysql - 是否可以为特定表格的特定列启用表情符号?
首先,我想向您保证,我已经完成了我的“功课”并且已经阅读了这个、这个、这个和这个。另外,我以前的一个问题与这个问题密切相关,但在那个问题中,我正在处理繁荣库与 utf8mb4 的兼容性问题。这个问题涉及更深层次的问题。假设我有几张表,我只想修改几列以使用 utf8mb4 编码,以在更改后保留一些存储空间和性能。如果我将整个数据库更改为 utf8mb4 编码,那么它的大小将增加 33%,这也会严重影响其性能。因此,我们从三个不同的表格中选择了四列来支持表情符号。这些是:
users.bio
(小文本,utf8_general_ci)questions.question
(长文本,utf8_general_ci)questions.answer
(长文本,ut8_general_ci)comments.comment
(小文本,utf8_general_ci)
因此,我的行动计划如下:
创建数据库的备份
运行这些命令:
期望:
- 这应该使指定的列使用 utf8mb4 而不是 utf8
- 现有数据将正确转换为utf8mb4,即保留以前的文本,用户将能够正确阅读其内容
- 其他列不会改变
- 涉及受影响表的查询会变慢
我的预期准确吗?我需要更改连接吗?谢谢
mysql - 切换到 utf8mb4 后 MySQL INSERT 缺少信息
我到处寻找答案,但似乎仍然找不到
服务器:本地主机
MySQL 版本:5.6.17
我已将我的 db 表设置为utf8mb4,以便获得更多的字符可能性。当我将某些散列信息插入到我的表中时,根据字符串中的随机字符序列,实际上只有字符串的一个片段被插入(如果没有完全留空)。
在我的 pdo 语句句柄中,我在准备查询之前执行了 charset=utf8mb4 ,并且作为故障保险,我之前也 SET NAMES utf8mb4 。所以我认为CHARSET和COLLATE的一切都应该是洁净的。
所以我的问题是,我应该怎么做才能成功地将整个字符串放入字段中?是否有一些字符转义我应该这样做我失踪了?
编辑:当我将字符串复制/粘贴到 phpmyadmin 中时,它成功地将整个字符串放入字段中。
mysql - MySQL 表 COLLATION utf8_turkish_ci 到 utf8_general_ci
我有 2 张桌子,我想加入这些桌子。但是一个表排序规则是utf8_turkish_ci另一个是utf8_general_ci。这些表很大(2.9GB / 550MB)所以我不想在查询中使用“ COLLATION ”关键字,因为它对我的查询减速。
我的问题是:如果我将表 COLLATION 从 utf8_turkish_ci 更改为 utf8_general_ci 那么乱码或更改行中的任何字符?
谢谢
php - PHP 的 utf8_encode() 会删除表情符号吗?
我已经使用 Mathia 的指南将我的 mysql 数据库/表/列转换为 utf8mb4:https ://mathiasbynens.be/notes/mysql-utf8mb4
我正在专门抓取 instagram 结果,并在坚持之前使用 utf8_concode() 。
这个 PHP 方法是否支持 4 字节表情符号?持久化后,我仍然无法渲染表情符号。
mysql - 在 mysql 中将 TEXT 列的字符集从 utf8 转换为 utf8mb4 是否安全?
我正在尝试将大型生产数据库中的 TEXT 列的字符集从 utf8 转换为 utf8mb4 以支持表情符号。
我已经读过,对于 varchar 列,我们需要计算并在 alter 命令中提供不同的大小。但我找不到任何关于 TEXT 列的信息。
TEXT 列存储在表格之外,所以我可以继续使用 alter 命令还是有什么需要考虑的?
mysql - #1115 - 未知字符集:'utf8mb4'
我在我的电脑上运行了一个本地网络服务器,用于本地开发。我现在正处于导出数据库并导入到我的托管 VPS 的阶段。
导出然后导入时出现以下错误!
1115 - 未知字符集:'utf8mb4'
有人可以指出我正确的方向吗?
php - 如何将 4 个字节的表情符号保存到 mysql 中?
mysql 版本5.5.41 (MariaDB)
我已将表格转换为 utf8mb4,但我的 col (msg_desc) 数据仍显示 ???? 当我尝试保存 4 个字节的表情符号时。如何解决这个问题呢?
mysqli - 使用 PHPMyAdmin 将 MySQL-Charset 从 utf8 更改为 utf8mb4
当我想用 PHPMyAdmin 将 MySQL-Charset 从 utf8 (utf8_general_ci) 更改为 utf8mb4 (utf8_unicode_ci) 时,我做这些事情就足够了吗?
- 将数据库排序规则更改为“utf8_unicode_ci”
- 将表排序规则更改为“utf8_unicodel_ci”
- 将每个文本列更改为“utf8_unicodel_ci”
- 将我的 PHP 代码中的 set_charset 更改为“utf8mb4”
这是正确的还是缺少什么?哪里会出现问题?
linkedin - 通过 LinkedIn 共享 API 发送表情
我尝试通过共享 API 将 utf8mb4 字符(例如)发布到 LinkedIn。但我总是得到“XML 中的非法字符”作为响应。已经尝试使用 CDATA 来“逃避”它,但它没有帮助。
直接在 LinkedIn 中发布这些字符时,它可以工作。:-/
任何想法?没有这些字符的发布没有问题。
mysql - PHP PDOException: SQLSTATE[HY000] [2019] 无法初始化字符集 utf8mb4
我在 Centos 6 上安装了 drupal 8。这是我的 php 和 mysql -version 输出
服务器版本:5.7.9 MySQL 社区服务器(GPL)PHP 5.6.14(cli)(构建:2015 年 10 月 16 日 08:41:09)
但我仍然收到连接错误
PDOException: SQLSTATE[HY000] [2019] 无法在 /var/www/m2m/core/lib/Drupal/Component/DependencyInjection/PhpArrayContainer.php 中初始化字符集 utf8mb4(路径:/usr/share/mysql/charsets/)在第 83 行
我的 OS X Mysql Server 版本上也有此配置:5.6.27 Homebrew 和 PHP 5.6.15 (cli)(构建时间:2015 年 10 月 31 日 07:39:39)
一切都很好。
你有什么主意吗?任何帮助将不胜感激