Garip PHP UTF-8 Davranış

0 Cevap php

Ben aşağıdaki test PHP kodu var:

header('Content-type: text/html; charset=utf-8');

$text = 'Développeur Web';
var_dump($text);

$text = preg_replace('#[^\\pL\d]+#u', '-', $text);
var_dump($text);

$text = trim($text, '-');
var_dump($text);

$text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
var_dump($text);

$text = strtolower($text);
var_dump($text);

$text = preg_replace('#[^-\w]+#', '', $text);
var_dump($text);

Beklendiği gibi benim yerel makinede işe yarıyor:

string(16) "Développeur Web" 
string(16) "Développeur-Web" 
string(16) "Développeur-Web" 
string(16) "D'eveloppeur-Web" 
string(16) "d'eveloppeur-web" 
string(15) "developpeur-web" 

ama benim canlı sunucuda o garip davranıyor:

string 'Développeur Web' (length=16)
string '-pp-' (length=4)
string 'pp' (length=2)
string 'pp' (length=2)
string 'pp' (length=2)
string 'pp' (length=2)

Yerel makine, Windows çalıştıran bir PHP sürümü 5.2.4 ve canlı sunucu yüzden, herhangi bir şekilde biliyorum İdeal özdeş değil PHP sürümü 5.2.10 çalışan CentOS olduğunu.

Herkes benzer bir şey yaşadı ve bana doğru yönde işaret edebilir? Ben bu UTF-8 veya yerele ilişkin bir sunucu veya PHP yapılandırması çeşit varsayarak yaşıyorum.

Şimdiden çok teşekkürler

0 Cevap