2014-01-17 66 views
0

有沒有辦法簡單地規範土耳其人字符,如Ç,Ğ,İ,Ö,Ş,Ü和ı?在PHP中規範化土耳其語?

原因現在我正在使用str_replace,但這似乎不是正確的方式,因爲它有可能忘記一個字符....是否有更標準的方法?我嘗試在PHP國際化模塊中使用normalize方法,但土耳其文字符保持土耳其語。我想用URL的普通字符替換它們。所以Ç變成C,變成S,依此類推。

+0

你看到http://www.php.net/manual/en/normalizer.normalize.php? –

+0

我做到了。但DanFromGermany給了我一個更好的解決方案:iconv –

回答

1

標準化是什麼意思?只要他們進來的字符,但把你的腳本,連接和HTML在正確的編碼。

UTF-8的建議,解釋:UTF-8 vs. Unicode

如果只想ASCII字符,你可以通過像ord($char) < 255進行測試。

對於轉換看看這些功能:

http://php.net/iconv

http://php.net/utf8_encode

http://php.net/mb_convert_encoding

呼叫類同

$str = iconv('UTF-8', 'ASCII//TRANSLIT', $str); 

會做的伎倆。

另一種方式的preg_replace:Convert special characters to normal characters using PHP, like ã, é, ç to a, e, c

+1

謝謝你的完整答案! Iconv做到了!我知道它有點重複,但我真的不想使用str_replace或preg_replace與兩個手動填充數組,如http://stackoverflow.com/questions/4511194/convert-php-special-characters-like-aaaec中所述。這就是爲什麼我再次在這裏問它。但我很高興有一個更簡單的解決方案,iconv :) –