絵文字シンボルをデータベースレコードに保存しようとしていますが、正しく保存されない場合があります。 私はこれをHow to store Emoji Character in My SQL Databaseと呼んでいますが、まだ動作していません。
上記の質問の解決策として、私は文字セットをutf8からutf8mb4に、そして照合をutf8mb4_binから変更しようとしました。
私はデフォルトにリセットした後、データベーステーブルでそれを変更するようなものを試しました。私はutf8mb4_unicode_ci、utf8_unicode_ci、utf8mb4_binを試しましたが、動作しません。
私はMySQL 5.6バージョンを使用しています。そして、私は以下のクエリ
MySQLバージョン5.6で絵文字(utf8mb4_bin)が動作しません
alter table `users` convert to character set utf8mb4 collate utf8mb4_bin;
上記のコードは、それがデータベース内UTFタイプを変更することだ、正常に動作しているとの照合を変更しています。しかし、絵文字が正しく、それは疑問符として保存します保存されていません(????)以下
は私のデータベースのテーブル構造の例である:
CREATE TABLE IF NOT EXISTS `users` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'System generated id used for uniqueness',
`introduction` longtext COLLATE utf8mb4_bin,
`other_details` longtext COLLATE utf8mb4_bin,
PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin AUTO_INCREMENT=41213 ;
PHPコードの下に使用して絵文字を保存するには:
$dom = new DOMDocument('1.0', 'UTF-8');
$strWithEmoji = "";
$fullContent = '<meta http-equiv="content-type" content="text/html; charset=utf-8">'
+ $strWithEmoji;
$this->save($fullContent); // Function for saving into database
私は、正確なホを知りません多くのバイトが保存されていますが、私はこの絵文字 ""を保存しようとしていますが、それは4つの疑問符(????)として保存しています。
私はリンクの下からすべてのソリューションを試してみましたが、私のために働いていなかった:
は How to store Emoji Character in My SQL Database
UTF-8 all the way through
The ultimate emoji encoding scheme
@Liamすでに尋ねられたすべての解決策を試しましたが、うまくいきません。 – KRY
2日前に元の質問から何も追加していません。同じ質問を何度も聞かないでください。それは問題ではありません動作していません。 – Liam
@Liam質問が削除されました – KRY