T1grOK
16.11.2014 - 15:58
Если попытаться вставить в БД строку вида
💥 Акция от поставщика!
Ключевым является квадратик, на форуме просто не поддерживаются некоторые шрифты.
То в итоге просто пустота.
Как? Почему?
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
inpost
16.11.2014 - 16:05
T1grOKКодировка UTF-8 ? Смотрел в спец.символах HTML, может есть подобный? Смотрел в кодах тегов UTF-8 ? Там такой символ 100% должен быть.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
T1grOK
16.11.2014 - 16:20
Да кодировка UTF-8, в кодах символов есть данный код (
http://unicode-table.com/ru/1F4A5/), но mysql пофигу, он обрезает все что после таких кодов.
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
T1grOK
16.11.2014 - 16:45
Пока вопрос решил через utf8_encode, utf8_decode. Хотя это как то глупо.
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
inpost
16.11.2014 - 17:09
T1grOKHTML-код: & #128165;
Так пробовал вставить?
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Alchemist
16.11.2014 - 17:29
http://ashleyangell.com/2014/04/mysqls-utf...upport-unicode/"...Turns out MySQL’s UTF8 character set only partially implements proper UTF-8 encoding. It can only store UTF-8-encoded symbols that consist of one to three bytes; encoded symbols that take up four bytes aren’t supported. Luckily, MySQL 5.5.3 introduced a new encoding called utf8mb4 which maps to proper UTF-8 and thus fully supports Unicode, including astral symbols."
T1grOK
16.11.2014 - 18:14
Цитата (inpost @ 16.11.2014 - 13:09) |
HTML-код: & #128165; Так пробовал вставить? |
Так конечно норм вставляет. Но как получить из строк, набор уникод кодов?
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
inpost
16.11.2014 - 22:21
T1grOKМожет быть utf8_general_ci, utf8_unicode_ci попробовать? То есть их поменять?
AlchemistА расскажи, что за utf8mb4 и с чем едят? Там больше символов, стоит ли переходить? Может сталкивался в практике, не будет ли объемы выше или нагрузка?
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
T1grOK
16.11.2014 - 23:10
Цитата (inpost @ 16.11.2014 - 18:21) |
Может быть utf8_general_ci, utf8_unicode_ci попробовать? То есть их поменять? |
Пробовал не катит.
utf8mb4 - не съедает строку, но "зло символ" не сохраняется как нужно.
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Kapitan79
17.11.2014 - 00:32
Цитата (T1grOK @ 16.11.2014 - 15:58) |
💥 Акция от поставщика!
|
Похожий символ у меня возникал в базе, если я пытался вставить текст с несколькими строками.
Т.е. может это символ перевода строки?
Что за символ то изначально был?
Alchemist
17.11.2014 - 03:55
inpost, лень много писать - устал за день.
Вот ссылка на статью о
utf8mb4 в мануале MySQL 5.5 на английском:
http://dev.mysql.com/doc/refman/5.5/en/cha...de-utf8mb4.htmlВот она же но в переводе Гугла на русский (перевод не чистый но в принципе вроде все понятно):
https://translate.google.com/translate?sl=a...t-text=&act=urlT1grOK, разница между
utf8_general_ci и
utf8_unicode_ci лишь в том, что
utf8_unicode_ci умеет сравнивать суперсеты символов, а
utf8_general_ci - нет. Твоя проблема в том, что
CHARSER=utf-8 в MySQL вообще не поддерживает 4х-байтные символы (см. выше в этом же посте, либо мой предыдущий пост).
T1grOK
17.11.2014 - 10:37
Цитата (Alchemist @ 16.11.2014 - 23:55) |
T1grOK, разница между utf8_general_ci и utf8_unicode_ci лишь в том, что utf8_unicode_ci умеет сравнивать суперсеты символов, а utf8_general_ci - нет. Твоя проблема в том, что CHARSER=utf-8 в MySQL вообще не поддерживает 4х-байтные символы (см. выше в этом же посте, либо мой предыдущий пост). |
Да я с первого твоего сообщения понял это. Спасибо.
Пока решил "костыльнуться" кодированием строки.
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
inpost
17.11.2014 - 16:00
AlchemistМеня больше интересует практическое применение. Может пользовался и баги какие встречал или подводные камни?
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Alchemist
18.11.2014 - 13:42
Ааа, нет, не пользовался. Мне трех байт хватает вполне.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.