В общем беда полная. ( Не знаю в чем проблема. уже все глаза до дыр протер... Суть: У меня файл которые обрабатывает html форму. в нем так же есть функция ТРАНСЛИТА, (русских букв, на английские), для того что бы прикрепленные файлы, и их названия открывались в браузере. Вот код: PHP: <?php function translateName($ruName) { $ruName = strtolower($ruName); $latin = ''; for ($i=0;$i<strlen($ruName);$i++) { if (eregi('[а-я]',$ruName[$i])) { switch ($ruName[$i]) { case 'а': $latin.= 'a'; break; case 'б': $latin.= 'b'; break; case 'в': $latin.= 'v'; break; case 'г': $latin.= 'g'; break; case 'д': $latin.= 'd'; break; case 'е': $latin.= 'e'; break; case 'ё': $latin.= 'yo'; break; case 'ж': $latin.= 'zh'; break; case 'з': $latin.= 'z'; break; case 'и': $latin.= 'i'; break; case 'й': $latin.= 'j'; break; case 'к': $latin.= 'k'; break; case 'л': $latin.= 'l'; break; case 'м': $latin.= 'm'; break; case 'н': $latin.= 'n'; break; case 'о': $latin.= 'o'; break; case 'п': $latin.= 'p'; break; case 'р': $latin.= 'r'; break; case 'с': $latin.= 's'; break; case 'т': $latin.= 't'; break; case 'у': $latin.= 'u'; break; case 'ф': $latin.= 'f'; break; case 'х': $latin.= 'h'; break; case 'ц': $latin.= 'c'; break; case 'ч': $latin.= 'ch'; break; case 'ш': $latin.= 'sh'; break; case 'щ': $latin.= 'sch'; break; case 'ь': $latin.= 'y'; break; case 'ы': $latin.= 'y'; break; case 'ъ': $latin.= 'j'; break; case 'э': $latin.= 'e'; break; case 'ю': $latin.= 'yu'; break; case 'я': $latin.= 'ya'; break; default: $latin.= $ruName[$i]; break; } } else { $latin .= $ruName[$i]; } } return $latin; } ?> ТРАБЛА. У меня все работало, я дней 5 не че не делал, потом я тупо взял все скопировал (все файлы и базу) и перенес на другой сервер. И О боже.... транслит работает ЧАСТИЧНО. т.е. я когда этой формой пользуюсь, делаю там например, добавить файл. Выбираю файл с русским названием, Этот файл прикрепляеться но ПЕРВАЯ буква этого файла РУССКАЯ, че делатЬ?
Возможно, потому что функция strtolower() не работает с кириллицей? http://www.rucable.net/php_strtolower.html
тогда наверное логически тупой вопрос, если он не работает с кирилицей. почему он ПЕРЕВОДИТ в ТРАНСЛИТ, все остальные буквы?
PHP: <?php function translateName($ruName) { $t = array( 'а'=>'a','б'=>'b','в'=>'v','г'=>'g','д'=>'d','е'=>'e','ё'=>'e','ж'=>'zh', 'з'=>'z','и'=>'i','й'=>'y','к'=>'k','л'=>'l','м'=>'m','н'=>'n','о'=>'o','п'=>'p','р'=>'r', 'с'=>'s','т'=>'t','у'=>'u','ф'=>'f','х'=>'h','ц'=>'ts','ч'=>'ch','ш'=>'sh','щ'=>'sch', 'ъ'=>'', 'ы'=>'yi','ь'=>'','э'=>'e','ю'=>'yu','я'=>'ya', 'А'=>'A','Б'=>'B','В'=>'V','Г'=>'G','Д'=>'D','Е'=>'E','Ё'=>'E','Ж'=>'ZH', 'З'=>'Z','И'=>'I','Й'=>'Y','К'=>'K','Л'=>'L','М'=>'M','Н'=>'N','О'=>'O','П'=>'P','Р'=>'R', 'С'=>'S','Т'=>'T','У'=>'U','Ф'=>'F','Х'=>'H','Ц'=>'TS','Ч'=>'CH','Ш'=>'SH','Щ'=>'SCH', 'Ъ'=>'', 'Ы'=>'YI','Ь'=>'','Э'=>'E','Ю'=>'YU','Я'=>'YA' ); return strtr($ruName, $t ); }
ААААААААААААААА бЛИИИН ваще спасибо просто выручили не мерено!!! я просто слов нет.! спасибо огроменнОе!!!