Ben MB_ * ya baytlı dizeleri için iconv_ * işlevleri kullanmak gerekir?

1 Cevap php

Hepimiz şimdi, multibyte dizeleri işleme PHP o kadar kolay değil gibi. Örneğin ben şu dize uzunluğunu almak istiyorum: ä

strlen('ä'); // 2, because ä equals 2 bytes
mb_strlen('ä', 'UTF-8'); // 1
iconv_strlen('ä', 'UTF-8'); // 1

Hangi fonksiyonları kullanmalıyım? MB_ * ya iconv_ *? Neden? Kodlama UTF-8 ile sınırlı olmayabileceğini göz önüne alındığında.

Önceden thx!

1 Cevap

Bu Powerpoint sunumu bakabilirsiniz:

http://www.nyphp.org/content/presentations/smallworld/April2006-nyphp-Presentation.ppt

In a nutshell: Iconv supports more encodings, but is less portable.

Sunumdan:

PHP supports multi byte in two extensions: iconv and mbstring

  • iconv uses an external library (supports more encodings but less portable)
  • mbstring has the library bundled with PHP (less encodings but more portable)