Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Изменение кодировки текста (http://www.flasher.ru/forum/showthread.php?t=107453)

manah 28.05.2008 10:38

вы думаете проблема в этом?

BlooDHounD 28.05.2008 12:04

я не думаю, я знаю.

ulik 28.05.2008 15:57

Задача: загрузить html страницу в win1251 и прочитать данные
В onComleteHandler URLLoadera делаем:
Код:

var ba:ByteArray = ByteArray(event.target.data);
var utfData:String = String(ba.readMultiByte(ba.bytesAvailable, "utf8"));


etc 28.05.2008 20:07

ulik, а не win-1251 во втором агрументе?

manah 30.05.2008 15:49

нет, там вроде utf-8.
и, по моему, ByteArray может перевести кодировку с одного на другую...

ulik 30.05.2008 17:21

__etc >> хм... Нет. Я делал с utf8. И, несмотря на то,что это не корректно - работает этот вариант. А уж почему - к адобу.
Я лишь говорю то, что проверенно практикой.

etc 30.05.2008 20:25

Цитата:

Сообщение от ulik (Сообщение 742743)
__etc >> хм... Нет. Я делал с utf8. И, несмотря на то,что это не корректно - работает этот вариант. А уж почему - к адобу.
Я лишь говорю то, что проверенно практикой.

Не может этого быть. Флеш сам по себе работает с utf-8 и только. Чтобы прочитать данные, нужно указать кодировку, в которой эти данные, а не наоборот.

ulik 30.05.2008 20:32

__etc >> Вариант с чтением байт-аррея с кодировкой UTF8, при загрузке док-та в win1251 работает. Проверял сам лично на практике. Не стоит брать мануал за постулат. Аналогия с Security - в мануале сказано, что нельзя грузить данные с другого домена, без crossdomain. Но на практике - это не так. Все отлично грузится (jpg,png,gif...)

etc 30.05.2008 20:51

Цитата:

Сообщение от ulik (Сообщение 742797)
__etc >> Вариант с чтением байт-аррея с кодировкой UTF8, при загрузке док-та в win1251 работает. Проверял сам лично на практике. Не стоит брать мануал за постулат. Аналогия с Security - в мануале сказано, что нельзя грузить данные с другого домена, без crossdomain. Но на практике - это не так. Все отлично грузится (jpg,png,gif...)

Если мануал читать до конца, то про картинки там тоже написано, что и как.
Приведи пример с кодировкой win-1251 и попыткой чтения его из utf-8 так, чтобы в аутпуте отображалась верная кодировка.

ulik 30.05.2008 21:52

Пожалуйста:
Код:

import flash.net.URLRequest;
import flash.net.URLLoader;

var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.BINARY;
loader.addEventListener(Event.COMPLETE, dataLoaded);
loader.load(new URLRequest("1.html"));
function dataLoaded(event:Event):void
{
        var ba:ByteArray = ByteArray(event.target.data);
        trace(ba.readMultiByte(ba.bytesAvailable,"utf-8"));
}

1.html выглядит так:
Цитата:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta http-equiv="Content-Language" content="en-gb">
</head>
<body>
Это просто тест.
This is just a test.
</body>
</html>
Оутпут идентичен. Может и "неправильно" но работает.


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

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