Проблема с кодировкой, помогите пожалуйста!
Доброго времени суток!
У меня проблема с кодировкой во флэше. Дело в чем - есть флэш сайт, контент грузиться из текстового документа. И вроде все нормально, все работает и отображается корректно, но мне сообщили, что за границей на этом сайте текст отображается какими-то иероглифами. System.useCodepage=true не панацея :) Проблема с кодировкой, может кто сталкивался или знает как решить такого рода проблему? Спасибо. |
Цитата:
2. Если файл отдается серверным скриптом, рыть там вплоть до настроек вебсервера |
Цитата:
2. Нет, файл просто грузиться в свф, на пямую. |
А текст в UTF-8 кодировку переводить не пробовал? или Юникод? По идее и за границей должно быть видно с этими кодировками.
|
Не у всех за бугром есть Arial CYR
|
Цитата:
|
В Блокноте выбираешь сохранить в кодировке UTF-8 или Unicode (в чем разница не знаю)
|
Цитата:
|
Цитата:
|
Только не забудь помимо этого проверить, у тебя должно быть
Код:
System.useCodePage=false Проблема всегда в том, что иностранные компьютеры используют не-кириллическую страницу кодировки символов, и если у тебя использовалась Код:
System.useCodePage=true |
Ариалы бывают разные. Бывают, например, без кириллицы.
|
Цитата:
|
|
Цитата из темы
Цитата:
|
Цитата:
скорее всего ты при проверке что-то не учел. убедиться в этом можно при помощи следующего кода: Код:
// при такой настройке файл в UTF8 не прочитается возможно ты протестировал чтение UTF8 на файле, содержащем только латиницу. латиница она и в африке... в UTF8 коды латинских символов однобайтовые и совпадают с кодами таблицы win1252. то есть разницы между ANSI и UTF8 в таком случае нет никакой. |
Вложений: 1
Nox Noctis, я разгадал твою загадку :) Если в текстовом файле с UTF-8 кодировкой первые три байта следующие: EFh BBh BFh (п»ї в русской ANSI), то все нормально прочитается. Эти три байта можно добавить при сохранении стандартным блокнотом. Смотри прикрепленный файл.
|
Когом, большое спасибо за решение этого вопроса!
Уходит в FAQ |
Прикол, связанный с этой темой!!! Откройте блокнотом текстовый файл с ANSI кодировкой и русскими буквами, введите в самое начало код п»ї , сохраните файл с ANSI кодировкой , закройте.
Теперь можно открыть этот файл хоть в блокноте, хоть флешкой с кодом от Nox Noctis с ссылкой на этот текстовый файл. И чудо - вместо русских букв нипойми чего! :) :) :) Еще посмотрите на кодировку файла в блокноте. Разве с такой кодировкой вы сохраняли? |
Цитата:
насколько я вижу, в приаттаченном тобой файле, нет первых трех байт EFh BBh BFh. там стоит FFh FEh, что означает сигнатуру UTF8. сигнатура у текстового файла, сохранённого в UTF8 может быть, а может и не быть. опционально. от наличия сигнатуры зависит восприятие документа некоторыми программами (которые сами определяют что за кодировку им дали) . но флэш к таким программам НЕ относится, потому что в зависимости от настройки useCodepage он либо воспринимает ВСЁ что загружает как юникод, либо воспринимает ВСЁ что загружает как ANSI. обычно текстовые редакторы, позволяющие сохранять текст в юникоде, дают и возможность включать в файл сигнатуру или не включать. и я не понимаю причины всеобщего ликования. Цитата:
либо я чего-то не понимаю, либо имеет место заговор. :) |
Nox Noctis, FFh FEh - сигнатура Юникода. Мой файл больше твоего исходного на 3 байта, а не на 2...
А вобще все может быть, просто у меня флешка читает текстовые файлы с русскими буквами и с ANSI и с UTF-8 кодировкой (с этой сигнатурой из трех символов). Ну, твой файл не читает, тут ты без сомнения прав. |
1. выложи, пожалуйста, исходник и два текстовых файла (ANSI и UTF), на которых ты проверяешь.
2. скажи какая у тебя операционная система, какая кодировка установлена локальной, и какая версия флэша. меня немного запутал Ultraedit. он как-то странно отображает сигнатуру UTF. поэтому я сказал: "насколько я вижу, в приаттаченном тобой файле, нет первых трех байт EFh BBh BFh. там стоит FFh FEh, что означает сигнатуру UTF8." на самом деле то, что ты привёл, и есть та самая сигнатура, тут ты прав. Цитата:
Цитата:
повторюсь, при useCodepage = true файлы в UTF8 с русскими символами не могут читаться. совершенно точно. чтоб я сдох. :) при useCodepage = false файлы в ANSI читаться не могут. |
Вложений: 1
Цитата:
Архив с исходником и 3-я тесктовыми файлами (с твоим исходным) |
аха, спасибо.
ну что ж, признаю свою ошибку, я был уверен, что с сигнатурой или без, при useCodepage=true текст не должен читаться в UTF8 при некириллической кодировке в системе. любопытная деталь. на макромедии об этом ни слова. :) сказано в точности то, что я писал постом выше. кстати, в этом примере, который был опубликован в теме использованы файлы с сигнатурами :) Цитата:
|
короче, юникод с сигнатурой - это железный вариант :)
при любых погодных условиях (проверил при японской кодировке в системе :) ) |
Спасибо большое.
Не ожидал что в этой теме будет что-то новое открыто :) |
Цитата:
не то, чтобы это сильно "новое", но полезно знать, что юникод без сигнатуры может вызвать проблемы. |
Спасибо! Работает! :)
|
Часовой пояс GMT +4, время: 15:22. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.