GNU Recode

GNU Recode

문자 인코딩 사이를 변환해야 할 때, PHP에는 여러 가지 방법이 있는데요. 그중 하나가 이번에 다룰 GNU Recode 확장이에요. 다만 이 확장은 지금은 관리가 중단(unmaintained)된 상태라는 점을 먼저 짚어둘게요.

출처: GNU Recode

본문

GNU Recode 확장은 GNU Recode 라이브러리와 연결해 주는 인터페이스예요. 이 라이브러리는 서로 다른 문자 집합(coded character set)과 표면 인코딩(surface encoding) 사이에서 파일을 변환해 줘요. 정확한 변환이 불가능할 때는 문제가 되는 문자를 제거하거나 근사값으로 대체하기도 해요. 거의 150개의 서로 다른 문자 집합을 인식하거나 생성할 수 있어서, 거의 모든 문자 집합 쌍 사이에서 파일 변환이 가능하죠. 대부분의 » RFC 1345 문자 집합을 지원해요.

다만 몇 가지 주의할 점이 있어요.

  • 이 확장은 PHP 7.4.0부터 코어에서 분리되어 » PECL로 이동했어요. 대신 Multibyte String 확장이나 iconv 확장을 사용하는 걸 권장해요.
  • Windows 플랫폼에서는 사용할 수 없어요.

Recode 함수들

  • recoderecode_string 의 별칭(alias)
  • recode_file — recode 요청에 따라 파일을 파일로 변환
  • recode_string — recode 요청에 따라 문자열을 변환

더 알아보기

  • 인코딩을 다뤄야 한다면 관리가 유지되는 Multibyte String이나 iconv 확장을 먼저 고려해 보는 게 좋아요. 신규 프로젝트라면 더욱 그렇죠.