Cakephp отображает символы из таблицы и проблема, связанная с кодировкой Python (‘Unicode-escape’)

В моей таблице есть такая строка:

Удивительно … ������

Когда я пытаюсь показать его в моем представлении, он показывает это:

Удивительно … ???

В заголовке 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 или мне не нужно использовать эту функцию эквивалентно, и что-то не так с моей настройкой кодировки?

0

Решение

У меня тоже была такая же проблема раньше. Дело в том, 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;`

После того, как вперед, счастлив, что сохранил эмодзи характер :).

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]