그러나 utf-8 인코딩에서는 한자의 길이가 $str="Hello!!"와 같이 3자를 차지합니다.
strlen 함수를 사용하여 판단하면 길이는 는 11로 varchar의 길이를 조금 초과하지만 실제로는 그렇지 않습니다. phpmyadmin에서 insert 문을 직접 실행하면 이 문자열을 삽입할 수 있습니다!
데이터베이스의 길이는 5인데, PHP를 사용하여 이 길이를 얻으려면 어떻게 해야 할까요? iconv_strlen() 함수를 사용하세요!
echo iconv_strlen($str,'utf-8′);
두 번째 매개변수는 현재 문자 집합이므로 얻는 결과는 다른 문자 집합을 기반으로 합니다. 하나의 길이 계산을 고려하십시오!
위 문장은 5가 출력됩니다. 어떻게 판단하시겠습니까? 재인쇄할 소스를 표시하십시오: php는 입력이 mysql의 varchar 필드 길이 범위를 초과하지 않는다고 판단합니다