Фигурные кавычки из Word в UTF-8 с использованием mb_detect_encoding - PullRequest
2 голосов
/ 24 мая 2011

При обнаружении кодировки некоторого текста из Word (сохраненного в виде файла CSV) с использованием ...

$encoding = mb_detect_encoding($value, 'WINDOWS-1252, ISO-8859-1', true);
$value = iconv($encoding, 'UTF-8//IGNORE', $value);

Если строка содержит фигурные кавычки, $encoding будет установлен в ISO-88591, а не WINDOWS-1252, как это должно быть, поэтому строка будет читать «само-мотивировано» с забавными рамками вокруг них, а не «само-мотивировано» в кодировке UTF-8.решить эту проблему, кроме замены фигурных кавычек, потому что это может повлиять и на других символов?

Ответы [ 2 ]

0 голосов
/ 24 мая 2011

Windows-1252 и ISO-8859-1 отличаются только байтами от 7F до 9F.Они существуют в первом, но не во втором.Если вы знаете, что кодируете Windows-1252 или ISO-8859-1, вы можете определить, какой это код, по наличию таких байтов.Если таких байтов нет, и вы знаете, что это одна из этих двух кодировок , вы можете конвертировать из любого.

0 голосов
/ 24 мая 2011

Я однажды создал функцию для преобразования почти всего в UTF8, в ней также есть некоторые функции отслеживания содержимого, может быть, это вам поможет?

http://php.net/manual/function.utf8-encode.php#102382

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