|
 63 байт |
|
| Есть дамп из MySQL в очень кривом виде, где для всех столбцов указана кодировка latin1. Сам файл в кодировке UTF-8.
В аттаче - пример текста. Что в переводе:
Народный портал Русского Движения
|
Помогите понять что за кодировка, чтобы написать декодер. Судя по Декодеру Лебедева, это cp1252.
Но код:
<?php
echo mb_convert_encoding('моя кривая строка из файла', 'WINDOWS-1251', 'WINDOWS-1252');
?>
|
выдает чушь | |
|
|
|
|
|
|
|
для: mihdan
(24.07.2010 в 12:24)
| | Перекодировать надо данные из базы или сам дамп?
Приложенный файл содержит текст, в кодировке UTF-8, который был ложно кодирован из cp1252 (хотя реальная кодировка была cp1251). Т.е. чтобы бинарно получить байты текста в cp1251, нужно сделать обратную операцию - перекодировать из UTF-8 в cp1252. Затем, если нужно получить строку в UTF-8, нужно полученную строку уже из реальной кодировки cp1251 кодировать в UTF-8. | |
|
|
|
|
|
|
|
для: sms-send
(24.07.2010 в 12:50)
| | Огромное человеческое спасибо. Очень помогли. Остался только один вопрос: каким образом вы это поняли?
<?php
$str = 'Моя кривая строка';
$str = mb_convert_encoding($str, 'WINDOWS-1252', 'UTF-8');
$str = mb_convert_encoding($str, 'UTF-8', 'WINDOWS-1251');
echo $str;
?>
|
| |
|
|
|
|
|
|
|
для: mihdan
(24.07.2010 в 13:22)
| | up | |
|
|
|
|
|
|
|
для: sms-send
(24.07.2010 в 12:50)
| | sms-send, объясните пожалуйста на будущее. В HEX смотрели? | |
|
|
|
|
|
|
|
для: mihdan
(27.07.2010 в 12:36)
| | Еще актуально | |
|
|
|
|
|
|
|
для: kobzarev
(19.10.2011 в 02:28)
| | Аналогично. Есть ответы? | |
|
|
|