PHP Best Practices를 읽다가 내친 김에 번역을 했는데, 이걸로 모던PUG에서 "UTF-8 in PHP"라는 주제로 발표까지 하게 되었다. 별 내용은 아니라서 발표할 것까지는 없다고 생각했는데, 발표 준비를 한 덕분에 PHP의 UTF-8 지원에 대해서 정리해볼 수 있었다.

PHP7에서 기본 문자열이 유니코드(UTF-8)로 되는 것으로 알고 있었기때문에 곧 필요없어질 내용이라고 생각했는데, 조사하다보니 PHP7에서도 유니코드 지원 상황은 변함이 없는 것으로 확인되었다. RFC에 UString 클래스 제안이 있던 정도였지만, 이마저도 통과되지 않았다.

가장 흥미로웠던 것은 MySQL의 "utf8mb4" 인코딩이었다. UTF-8에서 4바이트를 사용하는 문자가 있다는 것은 어렴풋이 알고 있었지만, 보통 사용하는 "utf8" 인코딩은 4바이트 문자를 저장하지 못한다는 사실은 모르고 있었다. 이것 때문에 UTF-8의 "Plane"이라는 것에 대해서도 알아보게 되었다.

별 내용은 없지만, 아래는 발표때 사용한 슬라이드이다.


+ Recent posts