Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Кодировка и отображение текста (http://www.flasher.ru/forum/showthread.php?t=125179)

Angelinka 18.05.2009 15:19

Кодировка и отображение текста
 
Здравствуйте!
У меня вечный вопрос для флешеров, которые работают с интернетом.
Если передавать переменную во флеш через браузер, то флеш не отображает русский текст в ИЕ. Текст передается в кодировке UTF-8, так что, все должно, по логике вещей, работать. Работает во всех браузерах, кроме IE. System.useCodepage = true; не оказывает никакого влияния. Если в IE в панеле выбрать вручную кодировку UTF-8 - то текст отображается, но все символы самого сайта становятся иероглифами.
Облазила весь форум, нигде ничего ясно не написано. Либо пишут, что это уже обсуждалось - ищите, либо не могут дать ответ. Пожалуйста, помогите же кто-то. Ведь с этой проблемой сталкиваются многие разработчики.
Большое спасибо.

Stargazer 18.05.2009 17:55

System.useCodepage никогда не используйте.

Проблема у вас вот в чём.
Вы переменную передаёте во флеш через что? Через браузер. А кодировка страницы какая? Явно не UTF-8. А вам нужен именно он.

Если переменная не длинная - вбейте содержимое через /uXXXX.

Angelinka 18.05.2009 18:22

Простите, а можно подробнее на счет /uXXXX, а то мне не знаком такой прием. Спасибо.

Stargazer 18.05.2009 19:13

Подробнее и вместе с тем профессионально - сложно. Потому что я мало занимаюсь js (хотя с такой же как у вас проблемой сталкивался, но давно. не помню точно, как решил её). Смысл в том, чтобы указать данные именно в формате юникода.

Вот что я сейчас нашёл в поиске:
1. %uXXXX (где ХХХХ - это кодировка символа в юникоде) позволяет записать символ из юникода. (то есть, я неправильно подсказал насчёт слэша - вам нужен именно % ).
2. Советуют использовать encodeURI(). С функцией знаком, но деталей её работы уже давно не смотрел и не вспоминал.

Angelinka 18.05.2009 19:45

Получается, что смысл этого всего - перекодирование, да?
Ну так я и так подаю текст в юникоде, кодирую через PHP iconv.

aksios 18.05.2009 19:55

Покажите заголовок вашей странички.

Angelinka 18.05.2009 20:36

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1251">

xzwiex 18.05.2009 20:39

charset=windows-1251
а говорите utf-8 =)

Angelinka 18.05.2009 20:44

я говорю, что данные переменных передаю в utf-8

aksios 18.05.2009 21:49

Angelinka, Вы грузите. Поменяйте кодировку в заголовке.
Лучше через dreamweaver


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

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