Rya*_*yan 8 php unicode encoding character-encoding emoji
是否可以再次将表情符号3或4字节字符串重新编码为表情符号?
我继承了一个带有utf8_unicode_ci编码的MySQL Innodb表.这些表情符号4字节字符串无处不在.是否有可能将它们翻译成表情符号?
第一步是修改character set
to utf8mb4
.这改变了所有字符串,就像ð??£
这样的字符串:😊
.
但我真正想要的是翻译😊
成类似的东西.(我不知道是否
😊
真的是一个笑脸)
受到Ignacio Vazquez-Abrams 评论的启发。接下来的 python 代码片段显示了Emoji到Mojibake的原始过程,反之亦然(修复):
\n\nprint ( "\\nEmoji to mojibake (origin):")\nfor emojiChar in [\'\',\'\',\'\',\'\']:\n print ( emojiChar, emojiChar.encode(\'utf8\').decode(\'cp1252\'))\n\nprint ( "\\nmojibake to Emoji (repair):")\nfor mojibakeString in [\'\xc3\xb0\xc5\xb8\xcb\x9c\xc5\xa0\',\'\xc3\xb0\xc5\xb8\xcb\x9c\xc2\xa3\',\'\xc3\xb0\xc5\xb8\xe2\x80\x98\xc2\xbd\',\'\xc3\xb0\xc5\xb8\xcb\x9c\xc5\xbd\',\'\xc3\xb0\xc5\xb8\xe2\x84\xa2\xe2\x80\xa1\']:\n print ( mojibakeString, mojibakeString.encode(\'cp1252\').decode(\'utf8\'))\n
Run Code Online (Sandbox Code Playgroud)\n\n我知道问题被标记为php而不是python;让我希望类似的php解决方案可以非常接近\xe2\x80\xa6
\n\n输出:
\n\n==> chcp 65001\nActive code page: 65001\n\n==> D:\\test\\Python\\20108312.py\n\nEmoji to mojibake (origin):\n \xc3\xb0\xc5\xb8\xcb\x9c\xc5\xa0\n \xc3\xb0\xc5\xb8\xcb\x9c\xc2\xa3\n \xc3\xb0\xc5\xb8\xe2\x80\x98\xc2\xbd\n \xc3\xb0\xc5\xb8\xcb\x9c\xc5\xbd\n\nmojibake to Emoji (repair):\n\xc3\xb0\xc5\xb8\xcb\x9c\xc5\xa0 \n\xc3\xb0\xc5\xb8\xcb\x9c\xc2\xa3 \n\xc3\xb0\xc5\xb8\xe2\x80\x98\xc2\xbd \n\xc3\xb0\xc5\xb8\xcb\x9c\xc5\xbd \n\xc3\xb0\xc5\xb8\xe2\x84\xa2\xe2\x80\xa1 \n\n==>\n
Run Code Online (Sandbox Code Playgroud)\n\nPython版本:
\n\nPython 3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01:54:25) [MSC v.1900 64 bit (AMD64)] on win32\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
4922 次 |
最近记录: |