ExpressionEngine을 한국 환경에서 사용하기

몸이 살살 맛이 간다 싶더니만 어제는 기어이 앓아눕고 말았다. 실로 오랜만에 몸져 누운 셈이다. 아침에야 기운을 차리고 그동안 눈에 가시 같았던 문제를 해결하기로 마음 먹었다.

며칠 전에 겐도형이 감사하게도 티스토리 초대권을 보내준다고 하신 것을 거절했었다. 지금 사용하고 있는 ExpressionEngine에 만족하고 있었기 때문이다. 한데 거절한지 얼마 안 되서 겐도형 블로그에 트랙백 한 글이 깨지는 사태가 벌어졌다. 티스토리 초대권을 거절하고 나서 바로 일어난 일이라 무안하기도 했다. 겐도형 말대로 한국에서 개발한 태터로 옮겨가야 하는 것은 아닌지 심각하게 고민하는 계기가 됐다.

곰곰히 태터와 ExpressionEngine를 비교해 보고, 갈아타기 위해 무엇무엇을 해야 하는지 생각해봤다. 결론은 옮길 엄두가 안 난다였다. 그래서 이 문제를 직접 해결하기로 마음 먹었다.

서론이 길어졌으니 결론을 짧게 요약해 보겠다. 우선 트랙백이 깨지는 이유는 상위 아스키 코드로 문자를 변환하기 때문이다. 나는 [Admin/Global Weblog Preferences/Automatically Convert High ASCII Text to Entities]의 값을 no로 설정해 놓고, 인코딩은 utf-8, 그리고 로컬 환경은 Korean으로 해놨다. 그럼에도 불구하고 몇몇 모듈에서는 이런 설정값을 무시한다. 트랙백 모듈이 그 중 하나이다.

[system/modules/trackback/mcp.trackback.php] 파일을 열면 36행에 다음과 같은 변수 선언문이 있다.

var $convert_ascii = 'y';

$convert_ascii 값을 ‘n’으로 바꾸어주면, 태터나 기타 한국 블로그에 트랙백을 던졌을 때 정상적으로 처리된다.

참고

이 외에도 E메일 전송시 발신자와 제목을 잘못 인코딩하는 문제도 있다.

주의! 단순히 $convert_ascii 값을 ‘n’으로 바꾸는 것으론 안 된다. 태터와 똑같은 방식으로 트랙백을 보내기 위해 소스 코드를 조금 더 변경해야 한다. 아직 100% 확신할 수 없어서 수정한 소스 코드는 공개하지 않고 있지만, 만약 필요하다면 이메일로 연락해주길 바란다.

공지! ExpressionEngine의 트랙백 모듈을 한국 환경에 최적화하기라는 글을 참고하기 바란다.

최 재훈

블로그, 페이스북, 트위터 고성능 서버 엔진, 데이터베이스, 지속적인 통합 등 다양한 주제에 관심이 많다.
Close Menu