본문으로 바로가기
homeimage
  1. Home
  2. 컴퓨터/프로그래밍
  3. 라자루스 Ansi to UTF8, UTF8 to Ansi 변환

라자루스 Ansi to UTF8, UTF8 to Ansi 변환

· 댓글개 · 바다야크

윈도우 프로그램을 작성하다 보면 한글 처리가 걸리는 경우가 있습니다. 자주 경험하는데요, 프로그램을 다 짰다 싶은데 생각지도 않은 한글에서 에러가 발생합니다. 그래서 문자열을 처리할 때는 항상 한글을 넣어 검증합니다. 라자루스에서 Ansi to UTF8 또는 UTF8 to Ansi 변환 방법은 아래와 같습니다.

라자루스 UTF8 to Ansi

uses
   lazutf8;

strAnsi  := lazutf8.UTF8ToWinCP( strUtf8);

uses절에 lazutf8 유닛 추가를 잊지 마세요.

라자루스 Ansi to UTF8

uses
   lazutf8;

SetCodePage(RawByteString( strAnsi), 949, FALSE);
strUtf8  := AnsiToUtf8( strAnsi);

UTF8ToWinCP()와는 달리 언어코드를 지정해 주어야 주어야 하는데요, 그래서 저 같은 경우 LocalAnsiToUtf8() 함수를 만들어서 사용합니다.

uses
  lazutf8;

function LocalAnsiToUtf8( strAnsi: string): string;
begin
   SetCodePage( RawByteString( strAnsi), 949, FALSE);
   result  := AnsiToUtf8( strAnsi);
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  label1.Caption := LocalAnsiToUtf8( strAnsi);
end;

역시 uses절에 lazutf8 유닛을 추가해야 합니다.

SNS 공유하기
💬 댓글 개
최근글
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.