В моей таблице есть такая строка:
Удивительно …
Когда я пытаюсь показать его в моем представлении, он показывает это:
Удивительно … ???
В заголовке html-страницы у меня есть тег
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
В core.php у меня есть:
Configure :: write (‘App.encoding’, ‘UTF-8’);
В моем файле database.php у меня есть:
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => 'xxx',
'database' => 'xxx',
'prefix' => '',
'encoding' => 'utf8',
);
Я конвертирую текущий скрипт Python в php, и я вижу этот код:
‘comment_text’: row [2] .encode (‘unicode-escape’),
Я пытался найти эквивалент для кодирования (‘Unicode-escape’) в PHP, но ничего не нашел.
Нужно ли мне использовать аналогичную функцию для моего дисплея php или мне не нужно использовать эту функцию эквивалентно, и что-то не так с моей настройкой кодировки?
У меня тоже была такая же проблема раньше. Дело в том, utf8
кодировка поддерживает только три байта на символ. Вы можете прочитать подробно Вот
MySQL, utf8
не UTF-8. Таким образом, вы не можете сохранить некоторые символы и смайлики, и иногда это может отрезать ваш текст.
Что я сделал, я применил utf8mb4
на всю таблицу и схему.
Например
`ALTER TABLE your_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;`
`ALTER SCHEMA `your_schema` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_unicode_ci;`
После того, как вперед, счастлив, что сохранил эмодзи характер :).
Других решений пока нет …