Всем здрасте
дело такое: в базе данных содержаться слова с переводом на китайский (по разным колонкам конечно), при выводе данных слова выводятся в норме, а китайский перевод вопросами. при этом если рядом вклеить echo с китайским ткачест (напрямую, без переменных и подстановок) - все печатается
1. PVA - 22 Октября, 2017 - 18:03:42 - перейти к сообщению
2. LIME - 22 Октября, 2017 - 19:00:50 - перейти к сообщению
какая кодировка таблицы/поля ?
3. PVA - 22 Октября, 2017 - 19:54:39 - перейти к сообщению
LIME пишет:
какая кодировка таблицы/поля ?
utf8_general_ci
4. Sail - 23 Октября, 2017 - 08:11:54 - перейти к сообщению
PVA, обратите внимание на 4-Byte UTF-8 Unicode Encoding
5. Мелкий - 23 Октября, 2017 - 10:15:45 - перейти к сообщению
Sail пишет:
обратите внимание на 4-Byte UTF-8 Unicode Encoding
Китайский (весь) должен же быть во 2 и 3 байтах? https://stackoverflow[dot]com/q/1366068
Если что-то в 4 байте было - то оно уже утеряно. mysql utf8 не умеет хранить 4 байт вовсе.
PVA пишет:
при выводе данных слова выводятся в норме, а китайский перевод вопросами
Куда выводятся?
Если по http - то с какими заголовками и какую кодировку берёт браузер? Попробуйте поиграться с переключением кодировки текста в браузере вместо автоопределения. Рабочая версия - где-то вылез не юникод и браузер использует ту кодировку. А если на странице только китайский - то браузер догадывается всё равно использовать юникод.
6. PVA - 23 Октября, 2017 - 13:10:56 - перейти к сообщению
echo 'тут китайский и корейский' - выводится нормально
echo $ones['term'] - ячейка с латиницей, выводится нормально
echo $ones['termc'] - ячейка с иероглифом, знаки вопросов
ячейки из базы данных (в самой админ-панели БД все отображается)
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
наиболее вероятным кажется то что utf не держит байты, поменял на gb2312_bin и теперь текст просто не отображается. насколько я понимаю теперь дело в интерепретации браузером кодировки подскажите пожалуйста как заставить их отобразиться...
пробовал вручную указать браузеру кодировку и все равно пустое место показывает
(Добавление)
поправка: вопросики пропадали потому что при смене кодировки вылетали записи из базы, точнее обнулялись
пробовал кодировку utf8mb4_general_ci - тоду ну катит
echo $ones['term'] - ячейка с латиницей, выводится нормально
echo $ones['termc'] - ячейка с иероглифом, знаки вопросов
ячейки из базы данных (в самой админ-панели БД все отображается)
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
наиболее вероятным кажется то что utf не держит байты, поменял на gb2312_bin и теперь текст просто не отображается. насколько я понимаю теперь дело в интерепретации браузером кодировки подскажите пожалуйста как заставить их отобразиться...
пробовал вручную указать браузеру кодировку и все равно пустое место показывает
(Добавление)
поправка: вопросики пропадали потому что при смене кодировки вылетали записи из базы, точнее обнулялись
пробовал кодировку utf8mb4_general_ci - тоду ну катит
7. PVA - 24 Октября, 2017 - 16:17:28 - перейти к сообщению
может те кто поопытней объяснит почему и как, но ЗАРАБОТАЛО!
а иенно: сохранил без композиции, только с канонической декомпозицией
сам не в курсе что это такое, но заработало!