2014-01-17 3 views
0

Есть ли способ просто нормализовать турецкие символы, такие как Ç, Ğ, İ, Ö, Ş, Ü и ı?Нормализовать турецкий язык в PHP?

Причина теперь я использую str_replace, но это не похоже на правильный путь, потому что можно забыть персонажа .... Есть ли более стандартный способ? Я попытался использовать метод normalize в модуле интернационализации PHP, но турецкие символы остаются турецкими. Я хотел бы заменить их обычными символами для 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 :) –

Смежные вопросы