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

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

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

Регистрация: Feb 2009
Сообщений: 180
По умолчанию Парсинг юникода аля /u123/u456/u789

Здравствуйте. JSON либа передает кирилицу, как /u123/u456/u789

Честно гуглил, какие-либо смутные примеры находил, но на деле ничего толкового. Подскажите, как быть?

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

Регистрация: May 2011
Адрес: Orenburg
Сообщений: 37
Не по теме AS3, но все же...
Парсил как-то API Facebook через OAuth 2.0.
При получении русских имен и названий выводился как-раз такой юникод.
Проблему решил тем, что в обработчике php перед собственно результатом запроса выводил html header и указывал кодировку utf-8
Код:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru-ru" lang="ru-ru">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>

Старый 25.11.2011, 08:15
MXPain вне форума Посмотреть профиль Отправить личное сообщение для MXPain Найти все сообщения от MXPain
  № 3  
Ответить с цитированием
MXPain
 
Аватар для MXPain

Регистрация: Dec 2008
Сообщений: 305
Записей в блоге: 1
можно через http://www.php.net/manual/ru/function.iconv.php

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

Регистрация: Mar 2007
Сообщений: 319
Вобще символы \u0000 и так выводятся во флеше, а парсятся они так: \u необходимо заменить на 0x и будет uint символа.
Код AS3:
trace(String.fromCharCode(parseInt(("/u0046").split("/u").join("0x"))))
ещё возможно поможет замена "/" на "\". Иногда встречается такое что приходит вида \\u0046 (вконтакте например, при первом запросе к апи) нужно в таком случае убрать просто лишнюю \

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Использую такой вариант:
PHP код:
<?php
    
function json_encode_cyr($str
    {
        
$arr_replace_utf = array('\u0410''\u0430','\u0411','\u0431','\u0412','\u0432',
        
'\u0413','\u0433','\u0414','\u0434','\u0415','\u0435','\u0401','\u0451','\u0416',
        
'\u0436','\u0417','\u0437','\u0418','\u0438','\u0419','\u0439','\u041a','\u043a',
        
'\u041b','\u043b','\u041c','\u043c','\u041d','\u043d','\u041e','\u043e','\u041f',
        
'\u043f','\u0420','\u0440','\u0421','\u0441','\u0422','\u0442','\u0423','\u0443',
        
'\u0424','\u0444','\u0425','\u0445','\u0426','\u0446','\u0427','\u0447','\u0428',
        
'\u0448','\u0429','\u0449','\u042a','\u044a','\u042d','\u044b','\u042c','\u044c',
        
'\u042d','\u044d','\u042e','\u044e','\u042f','\u044f');
        
$arr_replace_cyr = array('А''а''Б''б''В''в''Г''г''Д''д''Е''е',
        
'Ё''ё''Ж','ж','З','з','И','и','Й','й','К','к','Л','л','М','м','Н','н','О','о',
        
'П','п','Р','р','С','с','Т','т','У','у','Ф','ф','Х','х','Ц','ц','Ч','ч','Ш','ш',
        
'Щ','щ','Ъ','ъ','Ы','ы','Ь','ь','Э','э','Ю','ю','Я','я');
        
$str1 json_encode($str);
        
$str2 str_replace($arr_replace_utf$arr_replace_cyr$str1);
        return 
$str2;
    }
?>
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

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

Регистрация: Dec 2008
Сообщений: 305
Записей в блоге: 1
GBee найс) стащу себе

Старый 25.11.2011, 20:26
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Код AS3:
package ru.inils.string {
	/**
	 * Функция для преобразования кода символов \uXXXX в сам символ.
	 * @param	codepoints	Исходный текст с кодами.
	 * @return	Текст с преобразованными символами.
	 */
	public function codepointsToUTF (codepoints:String):String {
		//text.replace (/\\u([\da-f]{4})/gi, "&#x$1;");
		return codepoints.replace (/(\\u)([\da-f]{4})/gi, convertToUTF);
	}
}
internal function convertToUTF (...rest):String {
	return String.fromCharCode (parseInt (rest[0].replace ('\\u', ''), 16));
	//return String.fromCharCode (parseInt (code.substr (2), 16));
}
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Mar 2007
Сообщений: 319
PHP код:
<?php
function json_encode_cyr($value
{
     
$arr explode("\u"json_encode($value));
     
$str $arr[0];
     for(
$i 1$i count($arr); $i++)
     {
         
$str .= substr_replace($arr[$i], "&#".(("0x".substr($arr[$i], 04)) * 1).";"04);
     }
     return 
htmlspecialchars_decode($strENT_QUOTES);
}

$a = array("asd23'sdfsdfzxcv43лоыва%ыч","bazdfgsdfgыва45325пыфва32452345п");
echo 
json_encode_cyr($a);
?>
вот что придумал =)

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

Регистрация: Feb 2009
Сообщений: 180
Парни, спасибо вам всем огромное за помощь) Столько примеров хороших и разных, и за разъяснения тоже спасибо)

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

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

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


 


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


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