Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Проблема с кодировкой, помогите пожалуйста! (http://www.flasher.ru/forum/showthread.php?t=74957)

Antares 02.02.2006 13:12

Ариалы бывают разные. Бывают, например, без кириллицы.

Kogrom 02.02.2006 17:33

Цитата:

Сообщение от olegn
Только не забудь помимо этого проверить, у тебя должно быть
Код:

System.useCodePage=false

Вот интересно, обязательно это нужно, если загружаем текст с кодировкой UTF-8? Или можно оставить System.useCodePage=true для для того, чтоб тексты с любой кодировкой в России читались?

Nox Noctis 02.02.2006 17:40

вот здесь перечислено (уже 2 года как) много познавательного.

в том числе, см. пункт #27, дана ссылка на вот эту и вот эту страницу форума (там есть картинки).

эти знания не помогают?

Kogrom 02.02.2006 20:00

Цитата из темы
Цитата:

Сообщение от Nox Noctis
system.useCodepage = true;
— говорит о том, что все что загружается из внешних источников
надо воспринимать НЕ КАК ЮНИКОД.
текстовый файл должен быть сохранен в обычном, не-юникодном формате.

Так вот, если настройка system.useCodepage = true стоит, то файлы с UTF-8 кодировкой в России все равно нормально читаются. Вот мне интересно, нормально они читаются за границей или нет?

Nox Noctis 02.02.2006 20:09

Цитата:

Сообщение от Kogrom
Так вот, если настройка system.useCodepage = true стоит, то файлы с UTF-8 кодировкой в России все равно нормально читаются.

это не так.
скорее всего ты при проверке что-то не учел.

убедиться в этом можно при помощи следующего кода:
Код:

// при такой настройке файл в UTF8 не прочитается
System.useCodepage = true;
//
loader = new XML();
loader.onData = function(text)
{
        trace(text);
};
loader.load("http://noregret.org/test/test.txt");

файлик http://noregret.org/test/test.txt содержит пару предложений на русском, кодировка UTF8.

возможно ты протестировал чтение UTF8 на файле, содержащем только латиницу. латиница она и в африке... в UTF8 коды латинских символов однобайтовые и совпадают с кодами таблицы win1252. то есть разницы между ANSI и UTF8 в таком случае нет никакой.

Kogrom 03.02.2006 09:08

Вложений: 1
Nox Noctis, я разгадал твою загадку :) Если в текстовом файле с UTF-8 кодировкой первые три байта следующие: EFh BBh BFh (п»ї в русской ANSI), то все нормально прочитается. Эти три байта можно добавить при сохранении стандартным блокнотом. Смотри прикрепленный файл.

Antares 03.02.2006 11:26

Когом, большое спасибо за решение этого вопроса!
Уходит в FAQ

Kogrom 03.02.2006 11:35

Прикол, связанный с этой темой!!! Откройте блокнотом текстовый файл с ANSI кодировкой и русскими буквами, введите в самое начало код п»ї , сохраните файл с ANSI кодировкой , закройте.

Теперь можно открыть этот файл хоть в блокноте, хоть флешкой с кодом от Nox Noctis с ссылкой на этот текстовый файл. И чудо - вместо русских букв нипойми чего! :) :) :)

Еще посмотрите на кодировку файла в блокноте. Разве с такой кодировкой вы сохраняли?

Nox Noctis 03.02.2006 12:02

Цитата:

Сообщение от Kogrom
Nox Noctis, я разгадал твою загадку :) Если в текстовом файле с UTF-8 кодировкой первые три байта следующие: EFh BBh BFh (п»ї в русской ANSI), то все нормально прочитается. Эти три байта можно добавить при сохранении стандартным блокнотом. Смотри прикрепленный файл.

сейчас я сделаю что-нибудь страшное.

насколько я вижу, в приаттаченном тобой файле, нет первых трех байт EFh BBh BFh. там стоит FFh FEh, что означает сигнатуру UTF8.

сигнатура у текстового файла, сохранённого в UTF8 может быть, а может и не быть. опционально. от наличия сигнатуры зависит восприятие документа некоторыми программами (которые сами определяют что за кодировку им дали) . но флэш к таким программам НЕ относится, потому что в зависимости от настройки useCodepage он либо воспринимает ВСЁ что загружает как юникод, либо воспринимает ВСЁ что загружает как ANSI.

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

и я не понимаю причины всеобщего ликования.
Цитата:

Прикол, связанный с этой темой!!! Откройте блокнотом текстовый файл с ANSI кодировкой и русскими буквами, введите в самое начало код п»ї , сохраните файл с ANSI кодировкой , закройте.
удивился, сделал, как и ожидалось - похерил юникодные символы, флэш ничего не читает...

либо я чего-то не понимаю, либо имеет место заговор. :)

Kogrom 03.02.2006 14:56

Nox Noctis, FFh FEh - сигнатура Юникода. Мой файл больше твоего исходного на 3 байта, а не на 2...

А вобще все может быть, просто у меня флешка читает текстовые файлы с русскими буквами и с ANSI и с UTF-8 кодировкой (с этой сигнатурой из трех символов). Ну, твой файл не читает, тут ты без сомнения прав.


Часовой пояс GMT +4, время: 14:40.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.