HTML MaxLength가 110 인 경우 114자를 입력 할 수있는 이유는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1852567

문제

<input type="text" id="title" name="title" size="50" maxlength="110" />

알다시피, maxlength는 110이지만, 내가 사용했을 때 114자를 입력한다는 것을 알았을 때 충격을 받았습니다.

echo strlen($title);

아이디어가 있습니까?

그건 그렇고, 내가 입력 한 것은 일본어 텍스트. 뭐가 문제 야?

도움이 되었습니까?

해결책

일본어 텍스트는 아마도 멀티 바이트 문자 인코딩을 사용하고있을 것입니다. 그러므로 당신은 사용해야합니다 mb_strlen ().

최고의 소원, 파비안

다른 팁

뭐가 문제 야?

PHP의 문자열 처리는 1 문자 = 1 바이트를 기반으로하고 모든 곳에서 인코딩을 관리하기 위해 프로그래머에게 맡기고 멀티 바이트 인코딩을 사용할 수있는 문자열을 다룰 때마다 가장 최근의 MB_* 기능을 사용해야합니다.

MaxLength는 단지 브라우저 잠금 장치이지만 유니 코드 인코딩을 포함하여 모든 종류의 방식으로 우회 할 수 있습니다. 이를 위해 서버 측 제어를 제공하는 것이 좋습니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top