Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[11953] Re:Re:Re:Re:Re:델파이에서 다국어를 다루려면?
civilian [civilian] 3391 읽음    2008-04-15 13:41
worddocument.range.words.item(1).text

이게 WideString을 리턴하지 않는 듯 합니다.

일반 AnsiString 을 WideString로 변환하려면 아래 함수를 사용해보세요.

function StringToWideString(const s: AnsiString; codePage: Word): WideString;
var
  l: integer;
begin
  if s = ' then
    Result := '
  else
  begin
    l := MultiByteToWideChar(codePage, MB_PRECOMPOSED, PChar(@s[1]), - 1, nil, 0);
    SetLength(Result, l - 1);
    if l > 1 then
      MultiByteToWideChar(CodePage, MB_PRECOMPOSED, PChar(@s[1]),
        - 1, PWideChar(@Result[1]), l - 1);
  end;
end;


푸른꿈 님이 쓰신 글 :
: 질문을 구체적으로 하지못하여 죄송합니다.
: 지금 sqlite에 다국어자료를 입출력하는 부분을 코딩하고 있는데 다음과 같은 방식으로 시험했을 때 한글이 깨졌습니다.
:
: word문서
: Friend
: 친구
: 朋友
:
: wrd : widestring;
: querystr : widestring;
: ...
: // sqlite가 utf8, utf16만을 지원하기 때문에 utf8로 변환합니다.
: wrd := utf8encode(worddocument.range.words.item(1).text);
: querystr:='insert into list values(' + '''' + wrd + ''''+ ');' ;
: sqlite3_exec(db, querystr, nil, nil, errmsg);
:
: 출력할 때는 callback함수에서 utf8decode함수를 리용했습니다.
: 출력결과는
: Friend
:
: ??
: 로 한글과 중문이 다 깨집니다.
: tnt를 쓰는 경우 tnt가 unicode문자렬을 돌려주므로
:
: wrd := utf8encode(editTnt.text);
: querystr:='insert into list values(' + '''' + wrd + ''''+ ');' ;
: sqlite3_exec(db, querystr, nil, nil, errmsg);
:
: 로 입출력하면 한글이 정확히 표시됩니다.
: 제가 알고싶은것은 우의 경우와 같이 tnt를 거치지않고 자료가 들어오는 경우 처리방법입니다.
: 초보인지라 너무 무리한 질문을 드려 죄송합니다.

+ -

관련 글 리스트
11946 델파이에서 다국어를 다루려면? 푸른꿈 2355 2008/04/14
11947     Re:델파이에서 다국어를 다루려면? civilian 2385 2008/04/14
11949         Re:Re:델파이에서 다국어를 다루려면? 푸른꿈 3464 2008/04/14
11950             Re:Re:Re:델파이에서 다국어를 다루려면? civilian 2423 2008/04/14
11951                 Re:Re:Re:Re:델파이에서 다국어를 다루려면? 푸른꿈 2431 2008/04/14
11953                     Re:Re:Re:Re:Re:델파이에서 다국어를 다루려면? civilian 3391 2008/04/15
11955                         Re:Re:Re:Re:Re:Re:델파이에서 다국어를 다루려면? 푸른꿈 2291 2008/04/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.