1 Востаннє редагувалося Stanislav Stecenko (03.12.2014 16:09:06)

Тема: Delphi Xe7 кодіровка

  
memo.Lines.Add(IdEncoderXXE1.Encode('Станіслав %'));//9DnwzDnwzDnwz60I+

memo.Lines.Add(IdDecoderXXE1.DecodeString(question_memo.Lines[0]));//????????? %

Як виправити "????????? %"

2

Re: Delphi Xe7 кодіровка

В Інді якось складно з мовами, відмінними від англійської. В даному випадку мабуть треба застосувати TStringStream.

3

Re: Delphi Xe7 кодіровка

Або іще можна спробувати явно вказати кодування. Якось так (не тестував):

var Encoding: IIdTextEncoding;
//...
  Encoding := IndyTextEncoding(encUTF8);
  memo.Lines.Add(IdEncoderXXE1.Encode('Станіслав %', Encoding)); 
  memo.Lines.Add(IdDecoderXXE1.DecodeString(question_memo.Lines[0], Encoding));

4

Re: Delphi Xe7 кодіровка

IIdTextEncoding;

видає ошибку  можливо потрібно uses якись підключить

5

Re: Delphi Xe7 кодіровка

ура  *YAHOO*

uses
  IdGlobal;
var
  Encoding: IIdTextEncoding;
begin
  Encoding := IndyTextEncoding(encUTF8);
  memo.Lines.add(IdEncoderXXE1.Encode('Станіслав %', Encoding));
  memo.Lines.add(IdDecoderXXE1.DecodeString(question_memo.Lines[0], Encoding));
Подякували: koala1