| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Тексты > Смещение из-за невидимого байта |
| Автор: fridkaratel 1.5.2011, 10:15 | ||||||
| Доброго времени суток! Парсю один сайтик, и возникла странная особенность... Суть проблемы: Заметил, что при парсинге через просмотр var_dump() появляются вопросы вместо некоторых букв, хотя в Firefox всё отображается нормально... Соответственно, в БД записывается с вопросиками. А потом эти вопросики и вылазят при просмотре... Изучив, всё-таки нашёл проблему. Как оказалось, вставляется лишний байт 0xC2... Из-за этого происходит смещение, поэтому и возникают вопросики. Написал простенький скрипт, который показывает HEX-коды каждой буквы в строке:
Привожу выдержки из результата обработки:
Тут имеется ввиду строка "набора отдельно", но получается, что происходит смещение и как результат строка "набора???тдельно" Вставился лишний байт c2, из-за этого:
Такое встречается несколько раз в разных местах... Как побороть эту проблему? Конфигурация: Кодировка на сайте: UTF-8 Кодировка скрипта: UTF-8 Веб-сервер: XAMPP PHP: 5.3.4 |
| Автор: fridkaratel 2.5.2011, 16:13 | ||
В-общем, написал мини-костыль, который исправляет эту бадью с вопросиками...
Если кто подскажет более изящное решение - буду рад ;) |
| Автор: srt 2.7.2011, 09:19 |
| адрес сайта подскажи, на посмотреть |
| Автор: mark2011 7.7.2011, 21:56 |
| fridkaratel, Если тема актуальна - пересохрани файл php в кодировке UTF-8 без BOM. |