태그 보관물: Encoding

APMSetup, MySql 에서 한글이 깨질 때

APMSetup을 사용해서 로컬에 테스트 서버를 만들던 중, PHP 페이지에서 한글을 입력하면 DB에 깨져서 저장되는 문제가 생겼습니다. 이것저것 찾아보면서 서버 및 DB의 인코딩 설정도 UTF8로 바꿔봤지만 문제가 해결되지 않더군요. 그래서 조금 더 검색해 보던중, 다음의 코드를 찾았습니다.

mysql_query("set session character_set_connection=utf8;");
mysql_query("set session character_set_results=utf8;");
mysql_query("set session character_set_client=utf8;");

이 코드를 추가해 주면 한글도 DB에 문제없이 입력이 됩니다.

플래시와 XML 인코딩이 다른 경우 데이터 로드하기

보통 AS3에서 외부 데이터를 로드하기 위해서 URLLoader를 많이 사용합니다. 그런데 플래시의 인코딩 설정과 로드할 XML 또는 텍스트 파일의 인코딩 설정이 다른 경우에 2바이트 언어의 문자가 깨져서 들어오죠. 그래서 System.useCodePage 설정을 바꿔주거나, 텍스트 파일의 인코딩을 변경하거나 둘 중 하나를 해 주어야 합니다. 뭐 좀 귀찮지만, 여기까진 문제가 없죠.

그런데, 만약, 서로 다른 인코딩의 텍스트 파일 2개 이상을 동시에 로드해야 하는 경우라면 OTL 이죠. 이럴 때 XMLLoader를 사용하면 문제가 말끔히 사라집니다. ^^

상황 1
플래시 EUC-KR —– 텍스트 UTF-8
XMLLoader.load(UR [,”utf-8″]);==> 한글 정상 표시
URLLoader.load(UR) ==> 한글 깨짐
(UR은 URLRequest 객체)

상황2
플래시 UTF-8 —– 텍스트 EUC-KR
XMLLoader.load(UR, “euc-kr”) ==> 한글 정상 표시
URLLoader.load(UR) ==> 한글 깨짐

상황3
플래시 UTF-8 —– 텍스트1 UTF-8, 텍스트2 EUC-KR
XMLLoader.load(UR1 [, “utf-8”]) ==> 한글 정상 표시
XMLLoader.load(UR2, “euc-kr”) ==> 한글 정상 표시
URLLoader.load(UR1) ==> 한글 정상 표시
URLLoader.load(UR2) ==> 한글 깨짐

XMLLoader는 내부적으로 URLStream을 사용하는 것으로, URLLoader 대신 URLStream 을 사용하여도 같은 효과를 얻을 수 있습니다.

참고 URL: http://hangunsworld.com/blog/259