왜 다음 문장의 출력은 1이 아닌 3입니까?(鉑) 문자열 함수와 PHP의 UTF8
echo mb_strlen("鉑");
것입니다 그
echo "鉑";
것 UTF-8 인코딩이 정상적으로 출력 부호.
왜 다음 문장의 출력은 1이 아닌 3입니까?(鉑) 문자열 함수와 PHP의 UTF8
echo mb_strlen("鉑");
것입니다 그
echo "鉑";
것 UTF-8 인코딩이 정상적으로 출력 부호.
당신은 적절한 내부 인코딩 설정 확인 :
<?php
echo mb_internal_encoding() . '<br />';
echo mb_strlen('鉑', 'utf-8') . '<br />';
echo mb_strlen('鉑') . '<br />';
mb_internal_encoding('utf-8');
echo mb_internal_encoding() . '<br />';
echo mb_strlen('鉑') . '<br />';
// ISO-8859-1
// 1
// 3
// UTF-8
// 1
당신의 mb_strlen 함수에 대한 인코딩 설정을 : 당신이 다음을 수행하는 경우
echo mb_strlen("鉑", "UTF-8");
, 올바른 답을 얻을 것이다
echo mb_strlen("鉑", "UTF-8");
나는 PHP가 3의 답을내는 ASCII로 기본 설정되어 있다고 생각합니다. 왜 그리고 어떻게 작동하는지 관심이있는 사람들을 위해 엔코 드에 대한 기사를 썼습니다. http://www.joelonsoftware.com/articles/Unicode.html
그냥 생각,하지만 난 ('鉑', 'UTF-8')은'mb_strlen 시도했습니다 가정,'? –