Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Глюк iconv'a

2.0K
02 июля 2008 года
swordholder
99 / / 17.10.2006
Здравствуйте

Вот такая вот проблема. Когда я меняю charset из utf-8 на windows-1251 большая часть строки просто исчезает.
Вчем может быть причина ?

$utf_string="Мақомоти гуфтанд, ки нирӯҳои ин кишвар имрӯз, дар рӯзи чоруми амалиёти зидди ҷангиёни исломӣ як сохтмони бузурги ";

$win_string=iconv("UTF-8","WINDOWS-1251",$utf_string);

echo $win_string; Делаю а выводится только две первые буквы а остальное все теряется и длина $win_string тоже становится короче.
:confused:
6
02 июля 2008 года
George
4.1K / / 05.01.2007
таджикский?
304
02 июля 2008 года
Fenyx
707 / / 26.01.2005
Цитата: swordholder
Здравствуйте

Вот такая вот проблема. Когда я меняю charset из utf-8 на windows-1251 большая часть строки просто исчезает.
Вчем может быть причина ?

$utf_string="Мақомоти гуфтанд, ки нирӯҳои ин кишвар имрӯз, дар рӯзи чоруми амалиёти зидди ҷангиёни исломӣ як сохтмони бузурги ";

$win_string=iconv("UTF-8","WINDOWS-1251",$utf_string);

echo $win_string; Делаю а выводится только две первые буквы а остальное все теряется и длина $win_string тоже становится короче.
:confused:


Почитай про ключи для этой функции в мане, если не поможет то трабла скорей всего в локали

2.0K
02 июля 2008 года
swordholder
99 / / 17.10.2006
Да таджикский.

в мануале несколько функций к iconv у прилагаются
Но ни один из них не помогает вот некоторые

iconv_set_encoding
iconv_get_encoding

Может у кого то есть другая готовая функция есть для изменения чарсета ?

:confused:
304
02 июля 2008 года
Fenyx
707 / / 26.01.2005
Цитата: swordholder
Да таджикский.

в мануале несколько функций к iconv у прилагаются
Но ни один из них не помогает вот некоторые

iconv_set_encoding
iconv_get_encoding

Может у кого то есть другая готовая функция есть для изменения чарсета ?

:confused:


Если добавить //TRANSLIT к параметру out_charset будет включена транслитеризация. Это означает, что вслучае, когда символа нет в конечной кодировке, он заменяется одним или несколькими аналогами. Если добавить //IGNORE, то символы, которых нет в конечной кодировке, будут опущены. Иначе, будет возвращена строка str, обрезанная до первого недопустимого символа.
есть еще функция для работы с утф - но к сожалению не помню, мне и iconv хватало

2.0K
02 июля 2008 года
swordholder
99 / / 17.10.2006
Кроме //IGNORE (в функции iconv() ) ничего не помогает.

$str=iconv("UTF-8","WINDOWS-1251//IGNORE",$str);

Но в этом случеа все не кирилические буквы теряются...
Что делать господа ??? :confused:
304
02 июля 2008 года
Fenyx
707 / / 26.01.2005
Цитата: swordholder
Кроме //IGNORE (в функции iconv() ) ничего не помогает.

$str=iconv("UTF-8","WINDOWS-1251//IGNORE",$str);

Но в этом случеа все не кирилические буквы теряются...
Что делать господа ??? :confused:


погугли, есть еще функции пхп для работы с ютф8 или жди что кто то вспомнит :)

36K
04 июля 2008 года
Alno
34 / / 23.06.2008
Цитата: swordholder
Кроме //IGNORE (в функции iconv() ) ничего не помогает.

$str=iconv("UTF-8","WINDOWS-1251//IGNORE",$str);

Но в этом случеа все не кирилические буквы теряются...
Что делать господа ??? :confused:



Ну они теряются, потому что их нету в кодировке Windows-1251))
Их, наверное, придется заменить HTML-сущностями. Можно попробовать что-нибудь вроде htmlentities, например, так:

 
Код:
htmlentities($str, ENT_COMPAT, "Windows-1251")
2.0K
04 июля 2008 года
swordholder
99 / / 17.10.2006
Спасибо всем ...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог