BoTa
Новичок
Транслитерация(strtr) и UTF-8
Использовал вот такую функцию для транслитерации:
Все было хорошо пока был win-1252. А вот в UTF-8 strtr() заменяет буковки не корректно, выдавая подобное:
дает подобный результат: "GGGeGzGyGlIGGGsGGhGGBGGGEGZIYILIIPIIIIIII�I�IIEI�I�"
Использовал вот такую функцию для транслитерации:
PHP:
function translit($string)
{
$string = preg_replace('{[^\w ]}s', '', $string);
$string = preg_replace('{[ ]+}', ' ', $string);
$string = strtr($string,
"абвгдежзийклмнопрстуфхыэАБВГДЕЖЗИЙКЛМНОПРСТУФХЫЭ",
"abvgdegziyklmnoprstufhieABVGDEGZIYKLMNOPRSTUFHIE");
$string = strtr($string, array(
'ё'=>"yo", 'ц'=>"ts", 'ч'=>"ch", 'ш'=>"sh", 'щ'=>"shch", 'ъ'=>'', 'ь'=>'', 'ю'=>"yu", 'я'=>"ya",
'Ё'=>"Yo", 'Ц'=>"Ts", 'Ч'=>"Ch", 'Ш'=>"Sh", 'Щ'=>"Shch", 'Ъ'=>'', 'Ь'=>'', 'Ю'=>"Yu", 'Я'=>"Ya"
));
return $string;
}
PHP:
translit('абвгдеёжзийклмнопрстуфхшщцчьъыэюя')