PHP中的表情符号支持和MySQL的

时间:2013-09-19 11:31:03

标签: php mysql utf-8 emoji

我被要求为PHP API支持的APP启用表情符号支持。 APP目前仅限iPhone(我没有,但我假设它上面有表情符号?)。

无论如何,我注意到数据库出于某种原因在任何地方都使用了latin_swedish。但由于我不确定utf-8是否可以支持完整表情符号范围所需的4字节字符串,所以我开始使用Google搜索,但无法从结果中得到完整答案。

所以:

  1. 要支持表情符号,请将字符集/校对的需要设置为mysql中的utf-8,或utf-8 mb4?

  2. 如果charset需要设置为utf8mb4,utf8和utf8mb4之间有什么区别(utf8最多支持4个字节不管怎么样?)。它是否强制字符以固定宽度存储在4字节表示中(假设每个聊天存储空间需要4倍甚至标准ascii范围,通常为1字节)。

  3. 在mysql查询中可以将utf8与utf8mb4进行比较吗?如果我尝试对另一个表的utf8列进行全文搜索或utf8mb4字符集的where子句会怎么样?

  4. PHP是否支持4byte字符串而不必使用像mb_string这样的特殊库?即我可以只分配$var = $_POST['text']并执行$emoji_var == 'xxxx'之类的操作,或者我必须逐字地更改PHP中的所有字符串以使用mbstring并更改所有比较器e.c.t。

  5. 只是想弄清楚在表情符号支持方面需要做多少工作,以及这样做的任何警告。所以任何帮助都会很棒。

0 个答案:

没有答案