Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.07.2010, 18:08
Wayfer Wayfer вне форума
Прохожий
 
Регистрация: 03.07.2010
Сообщения: 4
Репутация: 10
По умолчанию Работа с JSON

Здравствуйте!)
Такая проблемка:
С помощью потока авторизуюсь на сайте методом Post, компонент idHTTP, и возвращаемую строку присваиваю переменной
Сервер возвращает JSON-массив
Для работы с ним использую модуль uLkJSON
Парсирую текст, вытаскиваю нужные мне значения в Memo и тут возникает проблема
Если значение в JSON содержит русские буквы, то они отображаются как знаки вопросов
Надеюсь на вашу помощь)
Вот код:
Код:
....
var
  js:TlkJSONobject;
  s: string;
  nick,pass: String;
  stream: TStringStream;
....
begin
js := TlkJSONobject.Create;
  stream:=TStringStream.Create;
  nick := Edit1.Text;
  pass := Edit2.Text;
  stream.WriteString('u='+nick+'&p='+pass);
  s := (IdHTTP1.Post('http://.....',stream));
  js := TlkJSON.ParseText(s) as TlkJSONobject;
  Memo1.Lines.Add(js.getString('user_id'));
  Memo1.Lines.Add((js.getString('username')));
  Memo1.Lines.Add(js.getString('new_pm'));
  Memo1.Lines.Add(js.getString('unread_pm'));
  js.Free;
....
Ответить с цитированием
  #2  
Старый 03.07.2010, 18:34
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

UTF8Decode?
Или гугл "Преобразование кодировок Delphi"
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj

Последний раз редактировалось PhoeniX, 03.07.2010 в 18:36.
Ответить с цитированием
  #3  
Старый 03.07.2010, 19:17
Wayfer Wayfer вне форума
Прохожий
 
Регистрация: 03.07.2010
Сообщения: 4
Репутация: 10
По умолчанию

Цитата:
Сообщение от DJ PhoeniX
UTF8Decode?
Или гугл "Преобразование кодировок Delphi"
не работает
пробовал все способы, уже 4 дня мучаюсь, иначе бы сюда не писал
Ответить с цитированием
  #4  
Старый 04.07.2010, 05:18
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Какая винда (рус.англ), какие настройки в Regional settings?
Ответить с цитированием
  #5  
Старый 04.07.2010, 11:58
Wayfer Wayfer вне форума
Прохожий
 
Регистрация: 03.07.2010
Сообщения: 4
Репутация: 10
По умолчанию

русская, полностью русская windows 7 x64 7600
Ответить с цитированием
  #6  
Старый 05.07.2010, 17:20
guranvir guranvir вне форума
Начинающий
 
Регистрация: 19.01.2010
Сообщения: 113
Репутация: 11
По умолчанию

А попробуйте OEMconvert в true выставить
Ответить с цитированием
  #7  
Старый 07.07.2010, 16:59
Аватар для NekitoSSSS
NekitoSSSS NekitoSSSS вне форума
Начинающий
 
Регистрация: 02.05.2009
Адрес: Башкортостан, г.Благовещенск
Сообщения: 142
Версия Delphi: XE
Репутация: 13
По умолчанию

мой вариант в подобном был такой:
тупо прогонял тест через AnsiReplaceText(str,'','',[]);
и текст становился нормальным))
Ответить с цитированием
  #8  
Старый 09.07.2010, 19:32
Wayfer Wayfer вне форума
Прохожий
 
Регистрация: 03.07.2010
Сообщения: 4
Репутация: 10
По умолчанию

вопрос снят, всем спасибо) взял другой модуль
если кому нужно - используйте не ulkJSON, а uJSON, он круче
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:29.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter