إذا كان HTML MaxLength هو 110، فلماذا يمكنني إدخال 114 حرفا؟

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

سؤال

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

ترى، طول ماكس هو 110، لكنني صدمت عندما وجدت أنني أدخلت 114 حرفا عندما استخدمت

echo strlen($title);

اي فكرة؟

بالمناسبة، ما دخلت النص الياباني. وبعد ماذا دهاك؟

هل كانت مفيدة؟

المحلول

على الأرجح النص الياباني يستخدم ترميز حرف متعدد بايت. لذلك يجب عليك الاستفادة من mb_strlen ().

أطيب التمنيات، فابيان

نصائح أخرى

ماذا دهاك؟

التعامل مع سلسلة PHP، التي تستند إلى افتراض أن حرف واحد = 1 بايت ويتركه إلى مبرمج لرعاية Tyke من الترميزات في كل مكان وتذكر أن تستخدم وظائف MB_ * الأكثر حداثة عند التعامل مع السلاسل التي قد تستخدم الترميزات متعددة بايت.

MaxLength هو مجرد قفل للمتصفح ولكنه متوازن في أي نوع من الطرق بما في ذلك ترميز Unicode. أنت أفضل توفر التحكم في جانب الخادم لهذا

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top