Bu PHP mbstring ayarları ne yapmalıyım?

3 Cevap php

Ben bu php.ini ayarları tam olarak ne olduğunu anlamaya çalışıyorum. Onlar farklı değerlere ayarlanmış konum ne olur? Ne zaman gereklidir? Ne zaman zararlıdır?

Her zamanki gibi, PHP manual yardımcı daha azdır.

EDIT: Sadece netleştirmek Ben karakter kodlamaları nasıl çalıştığını anlamak ve PHP'nin multi-byte fonksiyonları tek-bayt meslektaşları farklı anlamak için. Ben yukarıdaki ayarları yapmak ne özelliklerini arıyorum.

EDIT 2: Onlar aslında sadece tek satır özetleri vardır, sadece page on runtime configuration, daha fazla belgeleri temin yok gibi, tamam görünüyor. Bunlardan ilk üç benzer adlı işlevleri ve işlev sürümleri açıklanmaktadır sayfalarında daha fazla ayrıntı vardır. Yukarıda bağlantıları da eklendi.

EDIT 3: bir lütuf ekleme. Ben bu ayarlar özellikle son üç, tam olarak ne ile ilgili özel ayrıntılar için arıyorum. Ne gelen ve dönüştürmek, ve ne zaman onlar bunu?

3 Cevap

Sen ile kullandığınız ne olursa olsun dil için mbstring.dil değiştirebilirsiniz. (Source)

dil

; dil for internal character representation.
mbstring.dil = Neutral ; Set default dil to neutral(UTF-8) (default)
mbstring.dil = English
mbstring.dil = Japanese
mbstring.dil = Korean  ;For Korean market later

http_input

; http input encoding.
mbstring.http_input = pass
mbstring.http_input = auto
mbstring.http_input = UTF-8
mbstring.http_input = UTF-8, SJIS, EUC-JP

http_output

; http output encoding. mb_output_handler must be
; registered as output buffer to function
mbstring.http_output = pass
mbstring.http_output = UTF-8

kodlama çeviri

; enable automatic kodlama çeviri accoding to
; mbstring.internal_encoding setting. Input chars are
; converted to internal encoding by setting this to On.
; Note: Do _not_ use automatic kodlama çeviri for
;       portable libs/applications.
mbstring.encoding_translation = On

Nokta farklı karakter kümesi kodlamalarını desteklemektir. Orada kodlamaları geniş bir yelpazede (ASCII, ANSI, UTF-8, vb) ve her biri farklı karakter setleri ve karakter başına bayt numarası vardır. Ayarlar farklı PHP fonksiyonları için varsayılan kodlamalar belirtebilirsiniz bakıyor.

PHP düzgün bu farklı kodlamaları ile başa yardımcı fonksiyonları bir dizi sağlar. Bir örnek için, strlen vs strlen () () check out.

Eğer uygulamanın metin yerelleştirilmesi veya farklı kodlamalar (veritabanı dahil!) Ile sistemler ile iletişim sürece Kısa cevap,, muhtemelen bu konuda endişelenmenize gerek yok.

Ben her şey bu örnekte gösteri ile açıklanabilir olduğunu düşünüyorum:

http://fr2.php.net/manual/en/function.mb-internal-encoding.php#53265

Bunun kullanılan değil rağmen, mbstring.http_input kullanımını çıkarabiliriz.