Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Юникод в XE5

-

Вопросы и ответы, обсуждения

- Ваши вопросы по Pascal/Delphi только в данном разделе

Ответ
 
Опции темы
Старый 15.04.2014, 18:33   #1
 Пехотинец
Аватар для NebesaBag
 
NebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражания
Регистрация: 27.12.2011
Сообщений: 73
Популярность: 2425
Сказал(а) спасибо: 334
Поблагодарили 57 раз(а) в 27 сообщениях
 
По умолчанию Юникод в XE5

Здравствуйте.
Есть проект на D7, в котором имеются Edit с заполненным русским текстом.
Начал переносить код на XE5(в дальнейшем под андроид написать есть желание приложение), но тк в версиях Delphi 9+ есть поддержка юникода, то возникла проблема.
Русский текст при записи из компонента в переменную, при перекодировании StrToHex, выдаёт совсем другие значения, не совпадающие со значениями в D7.

Utf8Decode/Encode пробовал, не помогло.

Есть способы решить данную проблему?)
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]

Пишу софт на заказ(Delphi / C# / PHP-скрипты). Описывайте задачи и цели софта, сообщайте сумму на которую рассчитываете.
Skype: vinozavr (Молдова)


Кто плюсует популярность, подписывайтесь пожалуйста)
  Ответить с цитированием
Старый 15.04.2014, 19:23   #2
 Старший сержант
Аватар для Sinyss
 
Sinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака Норриса
Регистрация: 29.07.2011
Сообщений: 197
Популярность: 8989
Сказал(а) спасибо: 45
Поблагодарили 175 раз(а) в 139 сообщениях
Отправить сообщение для Sinyss с помощью Skype™
 
По умолчанию Re: Юникод в XE5

Цитата:
в дальнейшем под андроид написать есть желание приложение

Хочешь писать под андроид - пиши на Java.
  Ответить с цитированием
Старый 15.04.2014, 20:11   #3
 Пехотинец
Аватар для NebesaBag
 
NebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражания
Регистрация: 27.12.2011
Сообщений: 73
Популярность: 2425
Сказал(а) спасибо: 334
Поблагодарили 57 раз(а) в 27 сообщениях
 
По умолчанию Re: Юникод в XE5

Надеюсь тут появятся комментарии по теме)
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]

Пишу софт на заказ(Delphi / C# / PHP-скрипты). Описывайте задачи и цели софта, сообщайте сумму на которую рассчитываете.
Skype: vinozavr (Молдова)


Кто плюсует популярность, подписывайтесь пожалуйста)
  Ответить с цитированием
Старый 15.04.2014, 22:19   #4
Reaper
 Фельдмаршал
Аватар для Dinmaite
 
Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(
Регистрация: 13.08.2009
Сообщений: 1,004
Популярность: 25098
Золото Zhyk.Ru: 350
Сказал(а) спасибо: 110
Поблагодарили 830 раз(а) в 395 сообщениях
Отправить сообщение для Dinmaite с помощью ICQ
 
По умолчанию Re: Юникод в XE5

Много раз ведь говорили. Хотите ответ? Кидайте свой код.
Ибо не ясно какую конкретно функцию вы использовали.
  Ответить с цитированием
Старый 15.04.2014, 22:42   #5
 Пехотинец
Аватар для NebesaBag
 
NebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражания
Регистрация: 27.12.2011
Сообщений: 73
Популярность: 2425
Сказал(а) спасибо: 334
Поблагодарили 57 раз(а) в 27 сообщениях
 
По умолчанию Re: Юникод в XE5

Извиняюсь, вот код:
Код:
data.Add('login='+LabeledEdit1.Text);
data.Add('password='+LabeledEdit2.Text);

IdHTTP1.Post('http://site.ru/index.php', data);
Логин может быть на двух языках. Данный образец кода в 7 делфи работает без сбоев. В XE5 посылает совсем другие байты у логина(думаю из-за поддержки юникода).
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]

Пишу софт на заказ(Delphi / C# / PHP-скрипты). Описывайте задачи и цели софта, сообщайте сумму на которую рассчитываете.
Skype: vinozavr (Молдова)


Кто плюсует популярность, подписывайтесь пожалуйста)

Последний раз редактировалось NebesaBag; 15.04.2014 в 23:21.
  Ответить с цитированием
Старый 16.04.2014, 06:27   #6
Super Moderator
 Сержант
Аватар для Рэйзор
 
Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(
Регистрация: 20.07.2010
Сообщений: 137
Популярность: 26409
Сказал(а) спасибо: 52
Поблагодарили 566 раз(а) в 197 сообщениях
 
По умолчанию Re: Юникод в XE5

Раз у Вас стоит XE5 то можно воспользоваться последними исправлениями в инди и использовать TIdMultipartFormDataStream вместо TStringList
пример:
Код:
   data := TIdMultipartFormDataStream.Create;
   data.AddFormField('login', LabeledEdit1.Text, 'utf-8');
Если нужно убрать quoted-printable, то надо установить тип содержимого:
Код:
      data.AddFormField('login', LabeledEdit1.Text, 'utf-8').ContentTransfer := '8bit';
________________
-> Keep2Me <-
  Ответить с цитированием
Пользователь сказал cпасибо:
NebesaBag (16.04.2014)
Старый 16.04.2014, 13:13   #7
 Пехотинец
Аватар для NebesaBag
 
NebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражания
Регистрация: 27.12.2011
Сообщений: 73
Популярность: 2425
Сказал(а) спасибо: 334
Поблагодарили 57 раз(а) в 27 сообщениях
 
По умолчанию Re: Юникод в XE5

Цитата:
Сообщение от Z.РэйзорПосмотреть сообщение
Раз у Вас стоит XE5 то можно воспользоваться последними исправлениями в инди и использовать TIdMultipartFormDataStream вместо TStringList

Подскажите как вывести подобное showmessage(String(StrToHex(data[0]))); ?
Чтобы я мог проверить что записано в данной ячейке.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]

Пишу софт на заказ(Delphi / C# / PHP-скрипты). Описывайте задачи и цели софта, сообщайте сумму на которую рассчитываете.
Skype: vinozavr (Молдова)


Кто плюсует популярность, подписывайтесь пожалуйста)
  Ответить с цитированием
Старый 17.04.2014, 07:17   #8
Super Moderator
 Сержант
Аватар для Рэйзор
 
Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(
Регистрация: 20.07.2010
Сообщений: 137
Популярность: 26409
Сказал(а) спасибо: 52
Поблагодарили 566 раз(а) в 197 сообщениях
 
По умолчанию Re: Юникод в XE5

Цитата:
Сообщение от NebesaBagПосмотреть сообщение
Подскажите как вывести подобное showmessage(String(StrToHex(data[0]))); ?
Чтобы я мог проверить что записано в данной ячейке.

это поток, из него так просто не вытащить уже.
Я давно на делфи не писал - так что не знаю, мб и можно.
И по поводу функции StrToHex - мб стоит использовать AnsiStrToHex : [Ссылки могут видеть только зарегистрированные пользователи. ]
________________
-> Keep2Me <-
  Ответить с цитированием
Старый 17.04.2014, 10:50   #9
 Пехотинец
Аватар для NebesaBag
 
NebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражания
Регистрация: 27.12.2011
Сообщений: 73
Популярность: 2425
Сказал(а) спасибо: 334
Поблагодарили 57 раз(а) в 27 сообщениях
 
По умолчанию Re: Юникод в XE5

StrToHex я использую лишь для того чтобы без снифера сразу видеть правильность данных.
Увы, с TIdMultipartFormDataStream вместо "login=1&pass=2" шлётся много других не нужных параметров.
Возможно есть способ решения проблемы без этого компонента?
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]

Пишу софт на заказ(Delphi / C# / PHP-скрипты). Описывайте задачи и цели софта, сообщайте сумму на которую рассчитываете.
Skype: vinozavr (Молдова)


Кто плюсует популярность, подписывайтесь пожалуйста)
  Ответить с цитированием
Старый 17.04.2014, 11:18   #10
Super Moderator
 Сержант
Аватар для Рэйзор
 
Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(
Регистрация: 20.07.2010
Сообщений: 137
Популярность: 26409
Сказал(а) спасибо: 52
Поблагодарили 566 раз(а) в 197 сообщениях
 
По умолчанию Re: Юникод в XE5

Цитата:
Сообщение от NebesaBagПосмотреть сообщение
StrToHex я использую лишь для того чтобы без снифера сразу видеть правильность данных.
Увы, с TIdMultipartFormDataStream вместо "login=1&pass=2" шлётся много других не нужных параметров.
Возможно есть способ решения проблемы без этого компонента?

Эти данные будут нормально обработаны любым веб сервером.

Есть вариант в виде моего старого компонента:

[Ссылки могут видеть только зарегистрированные пользователи. ]

компонент визуальный - после установки искать во вкладке Internet

примеры:
[Ссылки могут видеть только зарегистрированные пользователи. ]

Использовать TStringList не стоит - так как там проблемы со склейкой.
Лучше просто строку передавать со склейкой через & как в одном из примеров:
Код:
s := HTTP.Post('http://zt.am/', 'user=ololoev&pass=123456');
________________
-> Keep2Me <-

Последний раз редактировалось Рэйзор; 17.04.2014 в 11:21.
  Ответить с цитированием
Старый 17.04.2014, 12:16   #11
 Пехотинец
Аватар для NebesaBag
 
NebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражания
Регистрация: 27.12.2011
Сообщений: 73
Популярность: 2425
Сказал(а) спасибо: 334
Поблагодарили 57 раз(а) в 27 сообщениях
 
По умолчанию Re: Юникод в XE5

Спасибо, только я боюсь что Ваш компонент также будет получать юникодные значения русских символов, что в итоге не приведёт к успешной авторизации(

Сейчас вопрос в том как можно без юникодных обработок получить русские символы, подобно Д7
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]

Пишу софт на заказ(Delphi / C# / PHP-скрипты). Описывайте задачи и цели софта, сообщайте сумму на которую рассчитываете.
Skype: vinozavr (Молдова)


Кто плюсует популярность, подписывайтесь пожалуйста)
  Ответить с цитированием
Старый 17.04.2014, 12:20   #12
Super Moderator
 Сержант
Аватар для Рэйзор
 
Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(
Регистрация: 20.07.2010
Сообщений: 137
Популярность: 26409
Сказал(а) спасибо: 52
Поблагодарили 566 раз(а) в 197 сообщениях
 
По умолчанию Re: Юникод в XE5

Цитата:
Сообщение от NebesaBagПосмотреть сообщение
Спасибо, только я боюсь что Ваш компонент также будет получать юникодные значения русских символов, что в итоге не приведёт к успешной авторизации(

Сейчас вопрос в том как можно без юникодных обработок получить русские символы, подобно Д7


в том то и дело, что он специально для этого и был написан.
никаких обработок не нужно.
Там везде AnsiString используется.
+ возможность инициализации с нужным экземпляром класса TEncoding
________________
-> Keep2Me <-
  Ответить с цитированием
Пользователь сказал cпасибо:
NebesaBag (17.04.2014)
Ответ


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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] юникод nailcc Общение и обсуждение 0 04.12.2011 08:52
[Помогите!] Помогите найти программу Юникод для делания ников с различными буквами -=Д_ь_я_в_о_λ=- Общение и обсуждение 8 12.02.2011 11:08

Заявление об ответственности / Список мошенников

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

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net