|
|
|||||
кодировка win-1251
есть данные из БД в формате win-1251. Естественно во флеше отображаются не корректно. Данные забираю с помощью URLLoader.
как преобразовать данные в utf-8 средствами флеш?
__________________
Лень - двигатель прогресса.... |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Переделайте кодировку в базе на utf-8.
|
|
|||||
нету доступа к базе
вопрос решился так
__________________
Лень - двигатель прогресса.... |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Очень плохо.
Это костыль по факту. |
|
|||||
а что значит данные забираются из базы при помощи "URLLoader"?
в связке flash - база есть серверная часть, вот там и меняйте кодировку. И еще, нужно узнать не меняется ли кодировка сервером "на лету"
__________________
Кто может делать - делает, кто не может делать - учит, кто не может учить - управляет... |
|
|||||
Народ, а нет случаем какого нить класса преобразователя из того же вин1251 в утф8 для флешки?
я вот пытался писать нечто вроде этого но что то не выходит package main{ public class UTF8encode { public static function encode(str:String) { //АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЭЮЯабвгдеёжзийклмнопрстуфхцчшщэюя var etalon:String="АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЭЮЯабвгдеёжзийклмнопрстуфхцчшщэюя"; var ansiEtalon= "ÀÁÂÃÄŨÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÝÞßàáâãäå¸æçèéêëìíîïðñòóôõö÷øùýþÿ"; var data:String=str; var complet:String=""; for (var i:uint=0; i<data.length; i++) { trace(i); for (var j:uint=0; j<ansiEtalon.length; j++) { if (data.charAt(i)==ansiEtalon.charAt(j)) { complet+=etalon.charAt(j); } else { //complet+=data.charAt(i); } } } trace(complet); } } } тут нужно пояснить конечно что дело то не в коде, он то работает, плохо но более менее, проблема в том что для получения строки этой эталонной(ansiEtalon) я загружал ее из хмл в кодировке 1251, но потом чтоб проверить я вроде как из реального прмера, я грузил из id3 тегов русских из мп3шки строку она тоже была в кодировке 1251 но в этой строчке (из мп3) были символы которых не было в строчке из хмл и был определенный сдвиг в пордке символов Вообщем путанно но вроде понятно изъяснился) Последний раз редактировалось ramshteks; 13.08.2008 в 13:03. |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
ramshteks, а код из поста #3 чем не угодил?
|
|
|||||
ну ты сам сказал что костыль
ищу варинты. Я конечно понимаю, можно базу хранить в утф8 и на стороне скажем того же пхп изменять. но порой нет возможности. И я думаю ты согласишся с тем что всегда гораздо лучше под рукой иметь несколько вариантов решения одной и той же проблемы. |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Под костылем подразумевался сам факт того, что флеш занимается перекодированием. Есть данные, есть требования клиентской части к формату данных. Сервер должен их соблюсти, как ни крути.
Твой код — не решение проблемы, он написан на коленке и работать чаще всего вообще не будет. |
|
|||||
Цитата:
Цитата:
у меня когда такой вопрос встал я тоже решил обратится к байтэрею, но покапавшись ниче не нашел, видно плохо искал. А вообще существуют ведь моменты когда это необходимо, я к примеру писал недавно валютный информер вот он если интересно: http://www.free-lance.ru/users/ramsh...p?prjid=864639 мы с заказчиком решили что будем брать данные с сервера центрального банка, они конечно молодцы что предоставляют в хмл но предоставляют в 1251кодировке и названия валют по русски и естественно приходят корявки, ну ладно в данном случае это было не важно и я брал только значения, а если бы я брал названия, тогда понадобилось бы перекодировать и я не думаю что тот же цб любезно согласился бы перекодировать данные. или к примеру теже id3 теги в мп3. я конечно не знаю, и возможно есть возможность перекодировать их на стороне сервера, но все же иногда возникает острая необходимость перекодировки на стороне флеша. |
Часовой пояс GMT +4, время: 11:32. |
|
« Предыдущая тема | Следующая тема » |
|
|