Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Кодировка данных из базы и конвернация
 
 автор: darkozoid   (26.08.2015 в 10:54)   письмо автору
 
 

Доброго дня, не могу понять в чем дело, может кто подскажет?

В базе есть таблица с данными
tile - varchar(128) cp1251_general_ci
content - text cp1251_general_ci

Есть метод, который достает эти данные и конвертирует строку в utf-8 (если надо)

public function convert_to_utf($str, $force = false){
        $code = mb_detect_encoding($str, Array("UTF-8", "CP-1251"));
    
        if($code != "UTF-8"){ 
            $str = mb_convert_encoding($str, "UTF-8", $code);
        }
        return ($force ?  mb_convert_encoding($str, "UTF-8", 'CP-1251i').' OLD:'.$code : $str . ' OLD:'.$code);
    }


вывожу на страницу

// $title, $content  - значение из базы
print '<br>'.$this->convert_to_utf($title);
print '<br>'.$this->convert_to_utf($content);
print '<br>'.$this->convert_to_utf($content, 1);


выод:
заголовок OLD:UTF-8
???? OLD:UTF-8
тест OLD:UTF-8

проблема в том, что значение из поля title выводится нормально, а вот content dsdjlbnczзнаками вопроса. Если передать в метод второй аргумент, то выводится нормально, но при этом везде старая кодировка UTF-8

в чем может быть дело?
P.S. при подключении к базе прописал

mysql_query("SET CHARACTER SET 'utf-8'", $this->base);
mysql_query("SET NAMES 'utf-8", $this->base);



UPD

Решил

mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $this->base);

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования