ホームページ >データベース >mysql チュートリアル >emoji表情无法插入MySQL中_MySQL

emoji表情无法插入MySQL中_MySQL

WBOY
WBOYオリジナル
2016-05-31 08:50:111212ブラウズ

        IOS端的数据通过PHP透传到后台C++,上PHP系统会自动把Unicode转码成UTF-8。
        UTF-8编码的emoji表情无法插入MySQL中。

        经过分析发现,emoji表情是Unicode6.1才引入的,转成UTF-8为四个字节的编码方式,而不是像汉字,UTF-8编码为3个字节。而MySQL中如果对longext字段存储时选择存储方式为UTF-8是无法处理四字节的UTF-8编码,只有utf8mb4的编码方式才支持4字节的UTF-8编码。所以选择utf8mb4的编码方式,mysql才能存储4字节的UTF-8编码,从而存储emoji表情。而且MySQL需要升级到5.5的版本。

        但是存储到MySql的编码虽然后壳存储4字节的UTF-8编码,但是无法成功显示,因为存进去的是乱码。所以需要把UTF-8转成Unicode再存入MySQL。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。