Форум → Программирование → PHP для идиотов → кодировки :D
кодировки :D
-
Кто как детектит кодировку строки? Получаю страницы по разным адресам, везде разные кодировки. Выбираю от туда данные и мне нужно преобразовать их в utf-8. Можно сделать стандартными средствами?
Всякие mb_detect_encoding не работают с windows-1251. В ответе сервера далеко не всегда передается кодировка.
Можно как-то хитрожопо сконвертить строку в utf-8, не зная ее начальной кодировки? Ну или определить ее стандартными(!) средствами? -
23 сентября 2010 г. 16:28, спустя 7 минут 25 секунд
mb_* когда не указываешь кодировку, пытаются её хитрожопо определить. Если им не удаётся, вряд ли в ручную удастся более хитрожопо. -
23 сентября 2010 г. 16:32, спустя 4 минуты 23 секунды
У mb_convert_encoding можно указать auto, но оно определяет windows-1251 как utf-8.
mb_* когда не указываешь кодировку, пытаются её хитрожопо определить. Если им не удаётся, вряд ли в ручную удастся более хитрожопо.Спустя 162 сек.А если при конвертации не указывать, то вообще какая-то фигня получается -
23 сентября 2010 г. 17:50, спустя 1 час 17 минут 54 секунды
не уверен точно, но может как вариант: берешь кусок строки, и ищешь в нем "знакомые" для предполагаемой кодировки знаки. Если они найдены, то ок, если не найдены, то подменяешь предполагаемую кодировку (тоесть проверочные знаки) на следующие и т.д., пока либо не найдешь нужное тебе либо же не пошлешь нах всю строку. Но в целом хз, никогда с таким не сталкивался, ибо контент не пизжу, все делаю сам =))) -
23 сентября 2010 г. 18:02, спустя 11 минут 19 секунд
есть дибы по определению кодировок, но как я понял тебе нужны стандартные(!) средстваhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
23 сентября 2010 г. 18:14, спустя 12 минут 3 секунды
не уверен точно, но может как вариант: берешь кусок строки, и ищешь в нем "знакомые" для предполагаемой кодировки знаки. Если они найдены, то ок, если не найдены, то подменяешь предполагаемую кодировку (тоесть проверочные знаки) на следующие и т.д., пока либо не найдешь нужное тебе либо же не пошлешь нах всю строку. Но в целом хз, никогда с таким не сталкивался, ибо контент не пизжу, все делаю сам =)))
Нужно проверять наличие ссылки на странице + забирать анкор. С ним-то и проблема.
есть дибы по определению кодировок, но как я понял тебе нужны стандартные(!) средства
Да(!) :)
Вообще сейчас забил на остальные кодировки и гоняю только utf8-cp1251.Спустя 186 сек.Сразу вспоминается няшный питонячий chardet :) -
23 сентября 2010 г. 18:18, спустя 4 минуты 50 секунд
=)https://smappi.org/ - платформа по созданию API на все случаи жизни -
23 сентября 2010 г. 18:52, спустя 33 минуты 4 секунды
ну как это? Если header не возвращает кодировку, тогда браузер смотрит на мету. А если нет, то берёт кодировку по умолчанию (ФФ, осёл первым делом на мету смотрит (по крайней мере раньше)), так что сначала хиадер, если нет, то мету, если ни того ни того, то рандом бери))))))))) И блять кто это так охуенно пишет без кодировок? -
23 сентября 2010 г. 22:02, спустя 3 часа 10 минут 36 секунд
без кодировок браузер косячит как и пс частенько, так что на таких "целей" можно смело положить хуй. на других по приоритету - сначала хидер, потом мета. и будет профит, так делается в дудкурле напримерСапожник без сапог
Пожалуйста, авторизуйтесь, чтобы написать комментарий!