CakePHP UTF-8 требуется прямое кодирование? - PullRequest
0 голосов
/ 01 декабря 2011

Я написал приложение, используя CakePHP.Я установил все, чтобы использовать кодировку UTF-8 (таблицы базы данных, подключение к базе данных в database.php и т. Д.), Теперь мне интересно, должен ли я кодировать каждую отдельную текстовую строку в UTF-8 (с utf8_encode) передотправить его в базу данных или это не нужно.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 02 декабря 2011

Это не обязательно.

Задание соединения с базой данных для utf8 поможет вам справиться со сложностями. (см. Комментарии)

1 голос
/ 02 декабря 2011

Должна быть проблема соединения php с базой данных mysql.Вы можете попытаться исправить это, убедившись, что ваш сервер баз данных использует соединения с кодировкой utf-8 по умолчанию.

Вы можете заставить ваше приложение cakephp подключаться к mysql с кодировкой utf8, указав параметр кодирования в app/config/database.php:

var $default = array(
    'driver' => 'mysql',
    'persistent' => false,
    'host' => 'localhost',
    'login' => 'root',
    'password' => '',
    'database' => 'cakephp',
    'prefix' => '',
    'encoding' => 'utf8'
);

Вы можете также заставить mysql использовать utf8 с запросом:

SET NAMES 'utf8'

Дайте мне знать, если вы можете решить проблему.Спасибо

1 голос
/ 02 декабря 2011

Пожалуйста, посмотрите в руководстве , что на самом деле делает utf8_encode.Он преобразует ISO-8859-1 кодированный текст в кодировку UTF-8.Да, это ужасное название для этой функции.Если ваш текст не закодирован в ISO-8859-1, вам не нужна эта функция.Если ваш текст уже в UTF-8, вам не нужна эта функция.Короче говоря, если вы все равно устанавливаете все в UTF-8 с самого начала, это уже UTF-8 и вам больше ничего не нужно делать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...