Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.11.2009, 13:55
Himerets вне форума Посмотреть профиль Отправить личное сообщение для Himerets Найти все сообщения от Himerets
  № 1  
Ответить с цитированием
Himerets
 
Аватар для Himerets

Регистрация: Oct 2009
Адрес: Калининград
Сообщений: 134
По умолчанию Русский текст

Столкнулся с такой проблемой. Есть приложение с интерфейсом на русском языке и в нем есть некоторые проблемы с отображением текста. А именно.

Если есть строка, например:

button.label = "Заголовок"

то все ок, отображается норм.
Но если у нас есть какой-то xml-файл, ну например:

<data caption="Заголовок"/>

, то при попытке загрузить из него данные и вывести их на экран вылезают кракозяблы.

Тут наверно нужно что-то замутить с кодировками
Но что именно?

Старый 17.11.2009, 13:56
_SoWa вне форума Посмотреть профиль Отправить личное сообщение для _SoWa Найти все сообщения от _SoWa
  № 2  
Ответить с цитированием
_SoWa
 
Аватар для _SoWa

Регистрация: Oct 2009
Сообщений: 72
XML файл в какой кодировке?
Когда он в utf-8, то проблем возникать не должно

Старый 17.11.2009, 13:56
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 3  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
В utf-8 файл сохраните.

Старый 17.11.2009, 14:00
Himerets вне форума Посмотреть профиль Отправить личное сообщение для Himerets Найти все сообщения от Himerets
  № 4  
Ответить с цитированием
Himerets
 
Аватар для Himerets

Регистрация: Oct 2009
Адрес: Калининград
Сообщений: 134
Файл -> Сохранить как... -> Тип:UTF-8
Тип того?

Старый 17.11.2009, 14:26
_SoWa вне форума Посмотреть профиль Отправить личное сообщение для _SoWa Найти все сообщения от _SoWa
  № 5  
Ответить с цитированием
_SoWa
 
Аватар для _SoWa

Регистрация: Oct 2009
Сообщений: 72
Цитата:
<?xml version="1.0" encoding="utf-8"?>
Первая строка в ХМЛ файле

Старый 17.11.2009, 14:30
Himerets вне форума Посмотреть профиль Отправить личное сообщение для Himerets Найти все сообщения от Himerets
  № 6  
Ответить с цитированием
Himerets
 
Аватар для Himerets

Регистрация: Oct 2009
Адрес: Калининград
Сообщений: 134
Хм.. странно, я так делал, ничего не изменялось.
Посмотрю, может все-таки что-то не так у меня.

Старый 17.11.2009, 14:50
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 7  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Сообщение от _SoWa Посмотреть сообщение
Первая строка в ХМЛ файле
Эта строка ни на что не влияет. Нужна лишь для порядка.

Старый 17.11.2009, 14:32
lighto вне форума Посмотреть профиль Отправить личное сообщение для lighto Найти все сообщения от lighto
  № 8  
Ответить с цитированием
lighto
 
Аватар для lighto

Регистрация: Aug 2009
Адрес: Казахстан Усть-Каменогорск
Сообщений: 249
А какая кодировка в вашем основном файле куда ташите инфу из xml?
__________________
Flex+AS3 good)

Старый 17.11.2009, 14:37
Himerets вне форума Посмотреть профиль Отправить личное сообщение для Himerets Найти все сообщения от Himerets
  № 9  
Ответить с цитированием
Himerets
 
Аватар для Himerets

Регистрация: Oct 2009
Адрес: Калининград
Сообщений: 134
По идее UTF8
Приложение флексовое и в главном mxml-скрипте в начале стоит строка
<?xml version="1.0" encoding="utf-8"?>

Старый 17.11.2009, 19:24
GFreemen вне форума Посмотреть профиль Отправить личное сообщение для GFreemen Найти все сообщения от GFreemen
  № 10  
Ответить с цитированием
GFreemen
 
Аватар для GFreemen

Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
Цитата:
Сообщение от Himerets Посмотреть сообщение
По идее UTF8
Приложение флексовое и в главном mxml-скрипте в начале стоит строка
<?xml version="1.0" encoding="utf-8"?>
это просто описание, что из данного XML читать данные в формате utf-8, но это далеко не факт, что сам файл с этим XML имеет формат utf-8. Откройте этот файл в Notepad++ и посмотрите в каком формате данные. Скорее всего он напишет ANSI. Как вы создали этот XML?

Я, когда передаю строку из флеша в сишную библиотеку для сохранения в файл, то библиотека сохраняет как раз в ANSI, для последующего чтения этого файла из флеша сделал функцию-конвертер
Код AS3:
static var ANSItoUTF8_arr:Array=new Array([192,1040,"А"],[193,1041,"Б"],[194,1042,"В"],[195,1043,"Г"],[196,1044,"Д"],[197,1045,"Е"],
												  [168,1025,"Ё"],[198,1046,"Ж"],[199,1047,"З"],[200,1048,"И"],[201,1049,"Й"],[202,1050,"К"],
												  [203,1051,"Л"],[204,1052,"М"],[205,1053,"Н"],[206,1054,"О"],[207,1055,"П"],[208,1056,"Р"],
												  [209,1057,"С"],[210,1058,"Т"],[211,1059,"У"],[212,1060,"Ф"],[213,1061,"Х"],[214,1062,"Ц"],
												  [215,1063,"Ч"],[216,1064,"Ш"],[217,1065,"Щ"],[218,1066,"Ъ"],[219,1067,"Ы"],[220,1068,"Ь"],
												  [221,1069,"Э"],[222,1070,"Ю"],[223,1071,"Я"],
												  [224,1072,"а"],[225,1073,"б"],[226,1074,"в"],[227,1075,"г"],[228,1076,"д"],[229,1077,"е"],
												  [184,1077,"ё"],[230,1078,"ж"],[231,1079,"з"],[232,1080,"и"],[233,1081,"й"],[234,1082,"к"],
												  [235,1083,"л"],[236,1084,"м"],[237,1085,"н"],[238,1086,"о"],[239,1087,"п"],[240,1088,"р"],
												  [241,1089,"с"],[242,1090,"т"],[243,1091,"у"],[244,1092,"ф"],[245,1093,"х"],[246,1094,"ц"],
												  [247,1095,"ч"],[248,1096,"ш"],[249,1097,"щ"],[250,1098,"ъ"],[251,1099,"ы"],[252,1100,"ь"],
												  [253,1101,"э"],[254,1102,"ю"],[255,1103,"я"],
												  [185,8470,"№"]);
//метод для преобразования ANSI toUTF-8
		static public function ANSItoUTF8String(inString:String):String{
			workString="";
			var embedSymbol:String="";
			for(var i:int=0;i<inString.length;i++){
				for(var q:int=0;q<ANSItoUTF8_arr.length;q++){
					if(inString.charCodeAt(i)==ANSItoUTF8_arr[q][0]){
						embedSymbol=String.fromCharCode (ANSItoUTF8_arr[q][1]);
						break;
					}else{
						embedSymbol=inString.substr(i,1);
					}
				}
				workString+=embedSymbol;
			}
			return workString;
		}

Создать новую тему Ответ Часовой пояс GMT +4, время: 06:19.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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