
Zend.multibyte를 사용하여 한글을 처리할 때, utf-8로 설정되어 있지만 한글이 깨져 보이는 문제는 mbstring.func_overload = 2로 설정한 것과 관련이 있습니다.
mbstring.func_overload = 2로 설정하면, PHP가 모든 문자열 함수를 mbstring 함수로 오버로딩합니다. 하지만, 이 설정은 모든 문자열 함수에 영향을 주기 때문에, 문제가 발생할 수 있습니다.
해결 방법은 mbstring.func_overload = 2를 설정하지 않거나, 또는 mbstring.func_overload = 2를 설정하고, 모든 문자열 함수를 mbstring 함수로 호출하는 것입니다.
예를 들어, echo "Hello, World!" 대신에 echo mb_convert_encoding("Hello, World!", "UTF-8")를 사용하면, 한글이 올바르게 출력됩니다.
또한, PHP.ini 파일에서 mbstring.func_overload = 0으로 설정하여, 모든 문자열 함수를 mbstring 함수로 오버로딩하지 않도록 설정할 수도 있습니다.
2025-07-10 12:47