KOI8-R in UTF-8

Keepun

Новичок
KOI8-R in UTF-8

Я пытаюсь сконвертировать старую таблицу c KOI8-R в новую с UTF-8 (структура разная).

PHP:
mysql_select_db('base_utf8');
mysql_query('SET CHARACTER SET utf8');

$query = mysql_query('SELECT * FROM `base_koi8r`.`table`');
//mysql_query('SET CHARACTER SET utf8');

while ($row = mysql_fetch_array($query, MYSQL_BOTH)) {

// обработка $row

foreach ($row as $k => $r) $row[$k] = mysql_real_escape_string($r);
//foreach ($row as $k => $r) $row[$k] = iconv('koi8-r', 'utf-8', $r);

print_r($row); // распечатывает нормально в UTF-8

mysql_query([INSERT INTO с обработанным $row]); // Русские символы в '?' :(
}
@mysql_free_result($query);
PHP 5
MySQL 5
 

x-yuri

Новичок
а тебе это средствами php нужно сделать? или phpmyadmin подойдет?
 

x-yuri

Новичок
в том смысле, что если тебе одну таблицу ну или допустим одну базу надо один раз сконвертировать, то php тебе не нужен
 

Фанат

oncle terrible
Команда форума
очень умно делать искейп до конвертирования. очень. сразу показывает глубокое понимание смысла твоих действий.

касаемо установок кодировки - то же самое: есть заклинание "SET CHARSET", которое непонятно как, но помогает обычно.
а сейчас, когда надо совершать не шаманские пассы, а осмысленное действие, оно не спасает почему-то.

идем и читаем http://phpfaq.ru/mysql
и пытаемся понять, как смысл своих обычных действий, так и свои действия в данном случае.

в частности, что лучше конвертить средствами базы
 
Сверху