سؤال

وهذا هو، إذا أنا الترميز شيء تماما في PHP4؟ أو ربما ينبغي أن استخدام وظيفة مخصصة أو فئة / تمديد بدلا من ذلك لحساب عدد الأحرف في سلسلة متعددة البايت؟

والفرق الوحيد الذي يمكنني أن بقعة هو أن mb_string شرائط من متواليات سيئة، في حين iconv_strlen لا.

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

المحلول

إذا كنت ترغب في الهبوط في استبدال لstrlen عادي، mb_strlen استخدام لأنها دوما بإرجاع عدد صحيح. هذا هو قابل للنقاش للغاية على الرغم من (صحة يكونف على مدى التسامح ميغابايت)، ولكن في التسامح مع الخطأ mb_strlen ممارسة خدم أفضل مني. فقط تأكد من تكوين ميغابايت إلى المطلوب ترميز إما في ملف php.ini أو في مكان مركزي في التطبيق الخاص بك.

ودعم يونيكود في PHP هو في مكان سيئ، وعليك أن تكون على علم كثير من المزالق والاستثناءات. بعد أن فعل التحول الكامل من العديد من التطبيقات الكبيرة وبيانات المستخدم لUTF-8، ويمكنني أن أبكي لك النهر.

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