2014-05-23 3 views
0

Delphi XE5에서 string을 UTF8 string으로 인코딩하려면 어떻게해야합니까? 중복 질문에서Delphi XE5에서 문자열을 UTF8 WideString으로 인코딩하려면 어떻게해야합니까?

Result := string(Utf8Encode(ASource)); 
+1

'Result'의 유형은 무엇입니까? 그게'string'이고 유니 코드 델파이를 사용하고 있습니까? 그렇다면 [ '이 질문']의 복제본입니다 (http://stackoverflow.com/q/2697843/960757). [닫기 투표 망치를 가지고 있으며이 Q가 완료되지 않았기 때문에 열어두기를 원합니다 ...] – TLama

+0

문자열 on Delphi XE5 – Dmitry

+1

@tlama : 망치를 흔들어주세요. 실제로 복제본입니다. –

답변

1

: 나는 string 유형에 UTF8 인코딩 된 문자열로 변환하기 위해 노력하고있어 언제 UTF8 인코딩을 잃게

 aUTF8Str := UTF8Encode(aClientDataSet.Fields[i].DisplayLabel); 
     SetCodePage(aUTF8Str, 0, False); 
     aUnicodeStr := UnicodeString(aUTF8Str); 
     Result := aUnicodeStr; 
+0

'RawByteString'의 코드 페이지를 강요 한 후'RawByteString'을'UnicodeString'으로 변환하면 데이터가 손실 될 것을 요구하고 있습니다. 코드 페이지 0은 사용자의 기본 OS 코드 페이지에 매핑됩니다. UTF-8 옥텟을 그대로'UnicodeString' 문자로 복사하고 싶다면, 수동으로'RawByteString'을 반복적으로 사용하는 것이 가장 좋습니다. –

+2

여기에 WideString 인스턴스가 없습니다. –

관련 문제