UTF-8 4

mod_url과 IE7

과거 URL에 ASCII가 아닌 문자가 들어왔을때 브라우저마다 서버마다 꼬여서 나온 것이 mod_url 모듈입니다. url을 검사해서 서버의 케릭터 셋과 맞지 않는다 싶으면 문자를 변환한 후 클라이언트에게 location 헤더로 알려줍니다. 그래서 적당한 곳으로 옮겨주죠. 비슷하게 태터툴즈의 경우 어떤 케릭터 셋으로 날라와도 가능한한 잘 처리하도록 코딩되어 있습니다. 물론 100% 동작은 하지 않지만 꽤 무난한 정도죠. 땜빵은 땜빵을 만들고 그것이 지속되다 결국 댐을 무너트리니, IE7이란 둑에 문제가 생긴 것 같습니다. UTF-8로 전송된 URL에 대해 mod_url이 euc-kr로 변환해서 접속해라고 알려주고 IE6는 이를 그대로 재전송하므로 문제가 없었는데 IE7은 다른 특성을 보입니다. UTF-8..

외국계 블로그툴에서 트랙백을 보낼때 태터에서 오류가 나는경우

후배의 블로그에서 보낸 트랙백이 본인의 사이트에서 외계어로 번역된 케이스가 있다. 제목부분만 살포시 때다가 보자.나의 개발환경 저 코드를 그대로 브라우저보고 번역해봐! 하면나의 개발환경으로 나온다. 대체 뭐가 문제일까.그 후배녀석이 사용하는 블로그시스템은 ExpressionEngine. 내부적으로 UTF-8을 지원한다라고 되어있는것 같지만 한글을 입력하고 내부적 처리를 보면 전혀 아니다. 한글을 전부 저런식으로 바꾸어 버린다. 그리고 트랙백을 보낼때도 저런식으로 보내는 것이다.EE에서 보낸 트랙백은 WordPress나 기타 많은 블로그 시스템에서는 잘 보일수도 있다. 왜냐면 액면 그대로 출력을 하고 브라우저가 번역을 하기 때문이다. 반대로 태터는 트랙백 데이터를 원본 그대로 표시하고자 HTML Escap..

태터의 Migrator 개조하기

이번 TatterTools 1.02와 더불어 등장한 Migrator.php를 뜯어보자. 우선 주의할 것은 케릭터셋 변환을 위한 데이터가 들어 있어서 어정쩡한 에디터로 읽었다간 파일이 망가질 수 있다. 가능하면 UTF-8로 읽어 내기를 권장한다. 주의! 여기의 내용은 상당히 위험한 방법일 수 있기 때문에 어느정도 프로그래밍이 가능하고 특별한 처리를 하기 위한 상황에서만 실제 적용을 하기 바랍니다. 초보자를 위한 FAQ같은 것은 아닙니다. 또한.. 언제나 잊지 말것은 Backup! UTF 판별하기 함수 이전에 UTF8의 판별에 대해 적은 글이 있는데 그 방법의 결정판이 이 파일의 250번째줄 근처에 있는 isUTF8과 adjustUTF8 함수일 것이다. 허나 이 함수에서 주의할 점이 하나 있다. 나름대로 제..