Note that as of mbstring.c version 1.142.2.31, first released as PHP 4.3.4RC3, "auto" has changed meaning. It used to be configured based on #defines, so it was set at compile time, so for precompiled binary users (esp. Windows users) it has always been the same (Japanese mode). However, it is now based on the language that mbstring is configured for at runtime. (setlocale() doesn't affect this though) Running on English Windows at least, mbstring defaults to a "neutral" mode which results in an "auto" list of "ASCII, UTF-8". So, the point is, for PHP 4.3.4 or newer, you probably want to either use mb_language("Japanese") followed by mb_detect_order("auto"), or just hardcode your detect order with mb_detect_order("ASCII, JIS, UTF-8, EUC-JP, SJIS"). (Also note that mb_language() alone won't do it, you'll have to set the detect order to "auto" _after_ calling mb_language().)
mb_detect_order
(PHP 4 >= 4.0.6, PHP 5)
mb_detect_order — Karakter kodlaması algılama sırasını tanımlar/döndürür
Açıklama
kodlama_listesi ile belirtilen özdevinimli karakter
kodlaması algılama sırasını tanımlar.
Değiştirgeler
-
kodlama_listesi -
kodlama_listesibir dizi veya karakter kodlamalarının virgül ayraçlı listesi ya da "auto" olarak belirtilir. Değer olarak "auto" belirtilirse sıralama "ASCII, JIS, UTF-8, EUC-JP, SJIS" olur.)kodlama_listesibelirtilmezse karakter kodlaması algılama sırasını içeren bir dizi döner.Bu ayar, mb_detect_encoding() ve mb_send_mail() işlevini etkiler.
mbstring şimdilik aşağıdaki kodlama algılama süzgeçlerini gerçeklemiştir. Bu kodlamalarla ilgili geçersiz bir bayt dizilimine rastlanırsa kodlama algılaması başarısız olur.
UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JPBir ISO-8859-* karakter kodlamasını, mbstring daima ISO-8859-* olarak algılar.
UTF-16, UTF-32, UCS2 ve UCS4 için algılama daima başarısız olacaktır.
Örnek 1 - Kullanışsız algı sırası örneği
; Daima ISO-8859-1 olarak algılanır detect_order = ISO-8859-1, UTF-8 ; Daima UTF-8 olarak algılanır, çünkü UTF-8 diğerlerini de kapsar detect_order = UTF-8, ASCII, UTF-7
Dönen Değerler
Başarı durumunda TRUE, başarısızlık durumunda FALSE döner.
Örnekler
Örnek 2 - mb_detect_order() örnekleri
<?php
/* Algı sırasını virgül ayraçlı liste olarak verelim */
mb_detect_order("eucjp-win,sjis-win,UTF-8");
/* Algı sırasını dizi olarak verelim */
$dizi[] = "ASCII";
$dizi[] = "JIS";
$dizi[] = "EUC-JP";
mb_detect_order($dizi);
/* Geçerli algı sırasını görelim */
echo implode(", ", mb_detect_order());
?>
Ayrıca Bakınız
- mb_internal_encoding() - Dahili karakter kodlamasını tanımlar/döndürür
- mb_http_input() - HTTP girdi karakter kodlamasını algılar
- mb_http_output() - HTTP çıktı karakter kodlamasını tanımlar/döndürür
- mb_send_mail() - Kodlanmış olarak posta gönderir
