2013-12-19 3 views
4

Я использую CodeIgniter и пытается сохранить в таблице базы данных MYSQLКак хранить Юникода смайлик в MYSQL в CodeIgniter

Ошибка я получаю это

Incorrect string value: '\xF0\x9F\x9A\x9A' for column 'post' 
+1

MYSQL не поддерживает utf8mb4_unicode_ci до того MYSQL 5.5. Возможно, вы можете 'base64_encode' строку перед вставкой. – CodeColorist

+0

См. [_Поддерживать полный Юникод в базах данных MySQL] (http://mathiasbynens.be/notes/mysql-utf8mb4). –

+0

Да, это, безусловно, хорошее решение для кодирования в base64 строки, когда у вас уже есть база данных, чтобы избежать новой проблемы. –

ответ

11

1) Убедитесь, что вы» повторно используя MYSQL 5,5 только тогда вы сможете изменить параметры сортировки для utf8mb4_something

2) Убедитесь, что столбцы таблицы, которые собираются получить смайлики имеют свои параметры сортировка установлены utf8mb4_something

3) Отредактируйте конфигурационный файл database.php

$db['default']['char_set'] = 'utf8mb4'; 
$db['default']['dbcollat'] = 'utf8mb4_unicode_ci'; 
+3

На самом деле, [вам нужно использовать MySQL 5.5.3 или новее] (http://mathiasbynens.be/notes/mysql-utf8mb4). Старые версии 5.5 не поддерживают 'utf8mb4'. –

+0

Я использую PHP версии 5.6.22 и Mysql версии 5.6.27. Когда я перехожу от utf8 к utf8mb4 в database.php codeigniter, я получаю эту ошибку: «Невозможно установить набор символов подключения клиента: utf8mb4» –

1

по этой ссылке

http://webcache.googleusercontent.com/search?q=cache:http://andy-carter.com/blog/saving-emoticons-unicode-from-twitter-to-a-mysql-database

вы можете установить свой char_set базы данных utf8mb4 но все поддерживаемые emojees здесь:

✂️ ⤵️ ☺️☹️ ✊ ✌✋☝️ ✍❤️⛑ ⛹☘⭐️ ✨ ☄ ☄ ☀️ ⛄️ ☂ ☔️ ☔️ ☔️ ☔️ ☔️ ☔️ ☔️ ☔️ ⛳️ ⛳️ ⛳️ ⛳️ ☕️ ⚽️ ⚾️ ⛳️⛸ ⛹
✈️ ⛵️ ⛴ ⚓️ ⚓️ ⛩ ⛩ ⛩ ⌚️ ⌨ ☎️ ⏱ ⏲ ⏰ ⏳ ⌛️ ⚱ ⚗ ⚗ ⛱ ✒️ ✂️ ✒️ ✒️ ✒️ ✒️ ✒️ ✒️ ✒️ ✒️ ✒️ ✒️ ✏️ ❤️ ❣ ☮ ✝ ☪ ☸ ✡ ☯ ☦ ⛎ ♈️ ♉️ ⛔️ ⛔️ ⛔️ ⛔️ ⛔️ ⛔️ ⛔️ ⛔️ ⛔️ ⛔️ ⛔️ ⛔️ ⛔️ ⛔️ ❌ ⭕️ ♨️ ❗️ ❕ ❓ ❔! ️ ⁉️ ⚜ 〽️ ⚠️ ♻️ ❇️ ✳️ ✳️ ✅ Ⓜ️ ♿️ ♿️ 0⃣ 1⃣ 2⃣ 3⃣ 4⃣ 5⃣ 6⃣ 7⃣ 8⃣ 9⃣ ▶ ️ ⏸ ⏯ ⏹ ⏺ ⏭ ⏮ ⏩ ⏪ ◀ ️ ⏫ ⏬ ➡️ ⬅️ ⬆️ ⬇️ ↗️ ↘️ ↙️ ↖️ ↖️ ⃣ ⃣ ⃣ ⃣ ⃣ ⃣ ⃣ ✖️ ✖️ ✖️ ✖️ ✖️ ✖️ ✖️ © ® ™ ☑️ ⚪️ ⚫️ ▪️ ▫️ ⬛️ ⬜️ ◼️ ◻️ ◾️ ◽️ ♠ ️ ♣ ♥ ️ ️ ️ Оставить комментарий ⛄️ ☄ ♠ ️ ♥ ️ ♦ ️ ♣ ️ ▶ ️ ◀ ️ ☎️ ⌨ ✉️ ✏️ ✒️ ✂️ ↗️ ➡️ ✡ ↙️ ☯ ✝ ☦ ☦ ☪ ☮ ☢ ☣ ☑️ ✔ ✖️ ✖️ ✳️ ✴️ ❇️! ️ © ® ™ Ⓜ️ ▪️ ▫️ # ⃣ * ⃣ 0⃣ 1⃣ 2⃣ 3⃣ 4⃣ 5⃣ 6⃣ 7⃣ 8⃣ 9⃣ ⁉️ ℹ️ ⤴️ ⤵️ ♻️ ◻ Оставить комментарий ⛲️ ⛺️ ⛽️ ⛵️ ⛴ ⛔️ ⛅️ ⛈ ⛱ ⛄️ ⚽️ ⚾️ ⛳️ ⛸ ⛷ ⛹ ⛏ ☾ ♜ ♜ ♜ ☾ ☾ ☾ ☾ ☾ ☾ ☾ ☾ ➭ ➭ ➭ ➭ ➭ ➭ ➮ ➯ ➲ ➳ ➵ ➸ ➻ ➺ ➼ ➽ ☜ ☟ ➷ ↶ ↶ ↷ ↷ ⏎ ⎋ ⏎ ⎈ ⎌ ⍟ ❥ ツ ღ ☻

другие emojees не поддерживается utf8mb4

+0

Спасибо за список! Но некоторые эможи, похоже, не обрабатываются utf8_general –

Смежные вопросы