Форум → Программирование → PHP для идиотов → Кодировка
Кодировка
-
Парни, здорово! Никогда не загонялся кодировками, работал в cp1251, время от времени конвертируя строки при работе с ajax. И тут столкнулся с такой штукой (прошу не пинать):
простенький скрипт для транслитерации на выходе дает кракозяблы:
Особенности:
1.Кодировки файлов: utf-8
2. iconv_set_encoding("input_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "UTF-8");
iconv_set_encoding("internal_encoding", "UTF-8");
3.htaccess: addDefaultCharset UTF-8
Пример кода:
function translit($st)
{
$st=strtr($st,"абвгдеёзийклмнопрстуфхъыэ_ ",
"abvgdeeziyklmnoprstufh-iei-");
$st=strtr($st,"АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЭ /",
"ABVGDEEZIYKLMNOPRSTUFH-IEI-");
return $st;
}
//используем функцию
echo translit('русское слово');//здесь на выходе кракозяблики
спасибо, что поняли правильно -
-
11 февраля 2014 г. 15:25, спустя 17 часов 26 минут 25 секунд
@Sinkler, вот так лучше будет -
Google [google.com] ))Спустя 13 сек.
И почему у нас ссылки не парсятся?Google
google.com
Высокоуровневое абстрактное говно -
12 февраля 2014 г. 1:16, спустя 9 часов 50 минут 41 секунду
Спасибо!
Вот мое решение проблемы:
function trans($st)
{
$st = mb_strtolower($st,'UTF-8');
$from = array(
'а','б','в','г','д','е','ё',
'ж','з','и','й','к','л','м',
'н','о','п','р','с','т','у',
'ф','х','ц','ч','ш','щ','ь',
'ы','ъ','э','ю','я'
);
$to = array(
'a','b','v','g','d','e','yo',
'zh','z','i','y','k','l','m',
'n','o','p','r','s','t','u',
'f','h','ts','ch','sh','shch','',
'i','','e','yu','ya',
);
//удаляем всякий мусор
$st = str_replace(array(".",",","!","?",":"),"",$st);
return str_replace($from, $to, $st);
} -
-
12 февраля 2014 г. 10:33, спустя 9 часов 6 минут 21 секунду
**@Sinkler**, вот так лучше будет - https://www.google.com/?q=how+do+i+do+a+strtr+on+utf-8+in+php ))
@Stasovsky, кошерный вариант?)))Мир принадлежит терпеливым
Пожалуйста, авторизуйтесь, чтобы написать комментарий!