Многобайтовые символы, хранящиеся с сортировкой utf_unicode_ci, не отображаются правильно на веб-странице - PullRequest
0 голосов
/ 11 ноября 2011

Я установил параметры сортировки моего поля VARCHAR(250) на utf8_unicode_ci. Я вставляю свою запись в phpMyAdmin с символом словакии, и после этого при просмотре в базе данных все хорошо показывает. Но когда я попытался сделать запрос и получить результат из моего php-скрипта, он показал мне «Pokutovanà sa rozhodne…». Я попытался получить код символа возвращаемых данных, и это действительно "?" символ, а не проблема с набором символов браузера. кроме того, я также повторил эту строку на моей странице "". нет успеха Есть идеи как это решить.

Я использую CodeIgniter и MySQL. В моем конфигурационном файле

$config['charset'] = 'UTF-8';

В файле конфигурации базы данных у меня есть

$db['default']['dbcollat'] = 'utf8_unicode_ci';

В контроллере:

class Welcome extends CI_Controller {

    function __construct()
    {
        parent::__construct();

        $this->load->library('pagination');
        //echo $this->session->userdata('AppLanguage');
        $this->config->set_item('language', $this->session->userdata('AppLanguage'));
        $this->output->set_header('Content-Type: text/html; charset=utf-8');
    }

1 Ответ

0 голосов
/ 11 ноября 2011

У меня была похожая проблема с CodeIgniter некоторое время назад. В классе CI_DB_Driver (/system/database/DB_Driver.php) есть функция db_set_charset(), которая вызывается при инициализации класса. Я закомментировал вызов функции, и она устранила проблему.

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