从URL

2017-05-29 48 views
0
PHP特殊字符(umlaute)

我生气这个utf8和ansi和ascii的东西。总是同样的老故事...从URL

我已经包括GET参数的URL: http://www.example.com/?c=Österreich

在我的PHP脚本,我做一个开关:

switch (strtolower($country)) { 
    case "deutschland": 
    $country = "DE"; 
    break; 

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

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

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

对于Östereich,我得到默认值“DE”。那么如何解决这个问题呢?

+0

使用'osterreich'österreich'的'instad。并从URL传递相同的内容。 –

+0

你使用的是urlencode()函数吗? http://php.net/manual/tr/function.urlencode.php – vural

+0

尝试var_dump(strtolower($ country)),这样你就可以看到你正在处理的输出。 – Redrif

回答

3

您需要使用多字节功能来管理UTF8字符串,所以mb_strtolower(),而不是用strtolower()的

+0

这么简单... thx – DaFunkyAlex