Intereting Posts
ORDER BY random () с семенем в SQLITE PHP: Невозможно изменить 404 код состояния, но нет ошибки в заголовке () Нарушение ограничений целостности: 1452 laravel Uploadify: определение максимальной ширины и высоты изображения Структура папок структуры PHP MVC … Я делаю это правильно? PHP и MySQL: порядок по последней дате и лимиту 10 Woocommerce: проверка пользовательских полей на странице редактирования учетной записи Symfony 2 kpn мгновенный генерировать pdf с выходом соответствует зоне безопасности php simple html dom parse img html5 атрибуты? Может ли кто-нибудь объяснить аргумент $ pty в вызове функции ssh2_exec () Печать результатов немедленно (php) Показывать данные, извлеченные из базы данных, на основе ввода и отображения формы html на странице html Я хочу удалить вопросительный знак & .php расширение из url, используя .htaccess Сообщение jquery ajax на странице, отличной от ssl, а текущая страница – ssl Каковы правильные разрешения для папки для загрузки с PHP / Apache?

Кодовая кодировка CodeIgniter и поддержка UTF-8

Я работаю над сайтом, который использует / хранит акцентированные символы в базе данных. У меня установлен шаблон страницы так, чтобы переменная charset config.php соответствовала настройке, например:

<meta charset="<?php echo $this->config->item('charset');?>"> 

Проблема, с которой я столкнулась, заключается в том, что когда $config['charset'] установлен в UTF-8 , проверка формы завершается с ошибкой, и, как если бы акцент был включен, символы не были отправлены. Так, например, обязательное поле будет возвращаться назад, если оно включено в строку. Строка минус á отлично работает.

Мне удалось получить эту работу, изменив $config['charset'] на ISO-8859-1 и конвертируя текст в UTF-8 перед вставкой / после извлечения из базы данных с помощью php's utf8_encode() и utf8_decode() . Является ли это лучшим способом или мне не хватает чего-то необходимого, чтобы получить UTF-8 с акцентированными символами, работающими в CodeIgniter?

Любые советы приветствуются.

Вы должны убедиться, что используете UTF-8 всюду, и что PHP и MySQL настроены для обработки UTF-8.

В html добавьте метатег:

 <meta charset="utf-8" /> 

И сохраните его в формате UTF-8. вот как это сделать в блокноте ++ .

Определите таблицы MySQL для поддержки UTF-8, создайте таблицу с:

 DEFAULT CHARSET=utf8; 

И установите соединение:

 mysql_set_charset('utf8', $con); 

Включите UTF-8 в php.ini :

 default_charset = "utf-8" 

Для полной ручной проверки. Обработка Unicode Front To Back в веб-приложении.