Всем ку. написал вот такую строчку и удивился: Код (PHP): <?php echo mb_convert_encoding(mb_convert_encoding('Мирта', 'UTF-8', 'ASCII'), 'ASCII', 'UTF-8'); Надеялся увидеть мирту, однако увидал одни ???? У вас так же? Если да, то почему так? Если нет, то что у меня такое?
Просто у меня такое дело. У меня есть асечный бот, и когда запрашиваешь у него контакт-лист, то вместе с уинами приходят и никнеймы. Так вот, некоторые русские никнеймы с помощью Код (PHP): <?php mb_convert_encoding($v, "cp1251", "UTF-8"); отлично становятся русско-читаемыми (Например, Капитан Авокадо => Капитан Авокадо). Но есть один, который написан как Ìèðòà (Мирта, как раз-таки), который с помощью вышеупомянутого хинта првращается в вопросики. Однако, если написать Код (PHP): <?php mb_convert_encoding('Мирта', "UTF-8", "cp1251"); получится именно ÌèðòГ, а вот обратно - вопросики. Как мне тогда, все-таки, конвертировать? Требую разъяснений
эм... Код (Text): echo mb_convert_encoding(mb_convert_encoding('Мирта', 'UTF-8', 'ASCII'), 'ASCII', 'UTF-8'); ?????????? Код (Text): echo mb_convert_encoding(mb_convert_encoding('Мирта', "UTF-8", "cp1251"), "cp1251", "UTF-8"); Мирта
igordata, ваши вставочки понятны, просто получается, что слово "Мирта" было закодировано как mb_convert_encoding('Мирта', "UTF-8", "ASCII"), а вот обратно мне его как получить без вопросиков? mb_convert_encoding('Мирта', "cp1251", "UTF-8") - не катит mb_convert_encoding('Мирта', "ASCII", "UTF-8") - не катит (вопросики) как поступить?
Да я понял уже это, но дело в том, что квип показывает, что у данного уина никнейм Мирта, а класс для работы с ОСКАРом получает никнейм вот так: ÌèðòГ, что получается ТОЛЬКО после mb_convert_encoding('Мирта', "UTF-8", "ASCII"), логично было бы сделать обратную раскодировку, но, как вы уже заметили в третий раз, на выходе одни только вопросики, т.к. в аски нет русских букоф
Попробуй: Код (PHP): $enc = mb_convert_encoding($str, 'Windows-1252', 'utf-8'); header('Content-Type: text/html; charset=Windows-1251'); echo($enc); Добавлено спустя 1 минуту 17 секунд: Кстати, ты не полностью скопировал иероглифы походу. Там после "ÌèðòГ" ещё пробельный символ на конце должен быть, вроде. Добавлено спустя 18 минут 19 секунд: Причём не обычный пробел (код: 0x20), а неразрывный (код: 0xA0). Его скопировать не получается со страницы в браузере (он при копировании превращается в обычный пробел 0x20). Можно скопировать только из исходного кода страницы.
У меня года примерно с 2006 сложилось ощущение, что квип может показывать, что ему угодно. История такова: пользовался я тогда сим пейджером достаточно долго, а потом в связи с миграцией на альтернативные ОС, я пересел на pidgin, причем конкретно, как под альтернативными операционками, так и под дефолтно подразумевающейся. Ну дак вот, в пиджине при получении списка контактов с сервера в русскоязычных никах была удивительная картина, часть ников нормально отображалась, часть собственно так-же криво, а еще у одной части, кракозябнуты были тока отдельные символы в никах. Вопрос тут скорее уже к квиповодам, что там у них в потрохах происходит? Интересный момент: все 3 части пользователей объединяло примерно одно - они добавлялись из под разных версий (ибо пейджер сей тогда обновлялся со скоростью размножающихся кроликов).
Здравствуйте. Возникла необходимость кодировать текст в CP-1251 перед отправкой, на принимающей стороне текст вновь кодируется из CP-1251 в UTF8. Сейчас заметил что с символом "И" возникают проблемы. Код (Text): echo mb_convert_encoding(mb_convert_encoding('АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя', 'UTF-8', 'Cp-1251'), 'Cp-1251', 'UTF-8'); Данный код выводит: Код (Text): АБВГДЕЖЗ▒?ЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя Проблема возникает именно на шаге конвертации из UTF8 в CP-1251. Функция iconv: Код (Text): echo iconv("utf-8", "windows-1251", iconv("windows-1251", "utf-8//IGNORE", 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя')); АБВГДЕЖЗ▒ЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя Если IGNORE не ставить, то запинается на букве "И". Никто не сталкивался? Как решить данную проблему?
именно поэтому и перешли на UTF. символы из верхней части таблицы имеют техническое назначение. как раз там и живут русские буквы. почему оно там запинается - хз. видимо этот символ несет какую-то смысловую нагрузку для парсера.