2017-05-29 15 views
0

私はこのutf8とansiとasciiのもので怒っています。常に同じ古い話...URLからのPHP特殊文字(umlaute)

私はGETパラメータ含むURL持っている:私のPHPスクリプトで http://www.example.com/?c=Österreich

を、私はスイッチを作る:

Östereichについては
switch (strtolower($country)) { 
    case "deutschland": 
    $country = "DE"; 
    break; 

    case "österreich": 
    $country = "AT"; 
    break; 

    case "schweiz": 
    $country = "CH"; 
    break; 

    default: 
    $country = "DE"; 
    break; 
} 

、私が手デフォルト値 "DE"。だからこれを解決する方法は?

代わりstrtolowerのあなたはUTF8文字列を管理するために、マルチバイト関数を使用する必要があり、そうmb_strtolower()
+0

利用österreich' 'の' osterreich'のinstad。そしてURLから同じものを渡す。 –

+0

urlencode()関数を使用していますか? http://php.net/manual/tr/function.urlencode.php – vural

+0

var_dump(strtolower($ country))を試して、どの出力を処理しているかを確認してください。 – Redrif

答えて