Глюк iconv'a
Вот такая вот проблема. Когда я меняю charset из utf-8 на windows-1251 большая часть строки просто исчезает.
Вчем может быть причина ?
$utf_string="Мақомоти гуфтанд, ки нирӯҳои ин кишвар имрӯз, дар рӯзи чоруми амалиёти зидди ҷангиёни исломӣ як сохтмони бузурги ";
$win_string=iconv("UTF-8","WINDOWS-1251",$utf_string);
echo $win_string; Делаю а выводится только две первые буквы а остальное все теряется и длина $win_string тоже становится короче.
:confused:
Вот такая вот проблема. Когда я меняю charset из utf-8 на windows-1251 большая часть строки просто исчезает.
Вчем может быть причина ?
$utf_string="Мақомоти гуфтанд, ки нирӯҳои ин кишвар имрӯз, дар рӯзи чоруми амалиёти зидди ҷангиёни исломӣ як сохтмони бузурги ";
$win_string=iconv("UTF-8","WINDOWS-1251",$utf_string);
echo $win_string; Делаю а выводится только две первые буквы а остальное все теряется и длина $win_string тоже становится короче.
:confused:
Почитай про ключи для этой функции в мане, если не поможет то трабла скорей всего в локали
в мануале несколько функций к iconv у прилагаются
Но ни один из них не помогает вот некоторые
iconv_set_encoding
iconv_get_encoding
Может у кого то есть другая готовая функция есть для изменения чарсета ?
:confused:
в мануале несколько функций к iconv у прилагаются
Но ни один из них не помогает вот некоторые
iconv_set_encoding
iconv_get_encoding
Может у кого то есть другая готовая функция есть для изменения чарсета ?
:confused:
Если добавить //TRANSLIT к параметру out_charset будет включена транслитеризация. Это означает, что вслучае, когда символа нет в конечной кодировке, он заменяется одним или несколькими аналогами. Если добавить //IGNORE, то символы, которых нет в конечной кодировке, будут опущены. Иначе, будет возвращена строка str, обрезанная до первого недопустимого символа.
есть еще функция для работы с утф - но к сожалению не помню, мне и iconv хватало
$str=iconv("UTF-8","WINDOWS-1251//IGNORE",$str);
Но в этом случеа все не кирилические буквы теряются...
Что делать господа ??? :confused:
$str=iconv("UTF-8","WINDOWS-1251//IGNORE",$str);
Но в этом случеа все не кирилические буквы теряются...
Что делать господа ??? :confused:
погугли, есть еще функции пхп для работы с ютф8 или жди что кто то вспомнит :)
$str=iconv("UTF-8","WINDOWS-1251//IGNORE",$str);
Но в этом случеа все не кирилические буквы теряются...
Что делать господа ??? :confused:
Ну они теряются, потому что их нету в кодировке Windows-1251))
Их, наверное, придется заменить HTML-сущностями. Можно попробовать что-нибудь вроде htmlentities, например, так: