PHP中的表情符号支持&;MySQL
我被要求为一个由PHP API支持的应用程序启用表情符号支持。该应用程序目前仅限于iPhone(我没有,但我假设它上面有表情符号?) 无论如何,我注意到数据库出于某种原因到处都使用拉丁语和瑞典语。但由于我不确定utf-8是否能支持完整表情符号范围所需的4字节字符串,我开始在谷歌上搜索,但无法从结果中得到完整答案 因此:PHP中的表情符号支持&;MySQL,php,mysql,utf-8,emoji,Php,Mysql,Utf 8,Emoji,我被要求为一个由PHP API支持的应用程序启用表情符号支持。该应用程序目前仅限于iPhone(我没有,但我假设它上面有表情符号?) 无论如何,我注意到数据库出于某种原因到处都使用拉丁语和瑞典语。但由于我不确定utf-8是否能支持完整表情符号范围所需的4字节字符串,我开始在谷歌上搜索,但无法从结果中得到完整答案 因此: 为了支持表情符号,字符集/排序规则是否需要在mysql中设置为utf-8或utf-8MB4 如果字符集需要设置为utf8mb4,utf8和utf8mb4之间的区别是什么(utf8
$var=$\u POST['text']
并执行类似$emoji\u var=='xxxx'
的操作吗?或者我必须在PHP中更改所有字符串才能使用mbstring并更改所有比较器e.c.t只是想弄清楚支持表情符号需要做多少工作,以及这样做的注意事项。因此,任何帮助都将是巨大的 Re 2.),阅读:mySQL中的UTF-8只能存储基本多语言平面中的字符。对,奇怪的是,它只允许3个字节。我确信有一个技术上的原因超出了我的理解,那就是根据标准不支持utf8这样的4字节。所以现在我知道mysql表需要设置为utf8mb4!所以我想只剩下问题3和4了。表情符号似乎是三字节序列:但我不确定它们是否在基本的多语言层面上。最简单的方法可能是尝试:复制并粘贴其中一个字符-尝试将它们存储在mySQL中,看看会发生什么情况(图4),如果要对字符串执行操作,可能会对单字节字符串和多字节字符串产生不同的结果,例如在特定字符位置剪切字符串,则必须使用特殊的多字节库。如果只是按原样存储数据,应该没问题。我确实读过一个版本的表情符号wiki,但更为精简,并且提到只有一些表情符号是3字节的,您需要4字节来支持整个范围。