[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Кодировка и фунцкия iconv
Юрий Шу
У меня есть некая программа, и некий массив на печать.
Вывожу результаты вот таким образом:
PHP
print iconv('UTF8','cp1251',$c[1][1]).

PHP
print $c[1][1];

В итоге получаю следующий результат:
HTML
ООО «
ООО «Ромпания «Автоматизация» | Семинары

Получается, что функция iconv работает некорректно, оставляя только 5 символов. Почему так и как это можно было бы исправить?
Заранее спасибо.



Спустя 11 минут, 58 секунд (19.02.2009 - 09:52) Sylex написал(а):
iconv("UTF-8","cp1251"

Спустя 16 минут, 18 секунд (19.02.2009 - 10:08) Юрий Шу написал(а):
Sylex, аналогичная ситуация

Спустя 11 минут, 29 секунд (19.02.2009 - 10:19) Sylex написал(а):
Цитата (Юрий Шу @ 19.02.2009 - 12:40)
функция iconv работает некорректно

не кажется ли слишком категоричное утверждение?

Давай по-порядку...

1. Откуда ты берешь данные и в какой кодировке (и почему решил что в такой)?
2. В какую переводишь и зачем?
3. В какой кодировке страница?
4. Правильно ли браузер определил кодировку?

Спустя 13 минут, 38 секунд (19.02.2009 - 10:33) Юрий Шу написал(а):
Цитата (Sylex @ 19.02.2009 - 07:19)
Цитата (Юрий Шу @ 19.02.2009 - 12:40)
функция iconv работает некорректно

не кажется ли слишком категоричное утверждение?

Давай по-порядку...

1. Откуда ты берешь данные и в какой кодировке (и почему решил что в такой)?
2. В какую переводишь и зачем?
3. В какой кодировке страница?
4. Правильно ли браузер определил кодировку?

Ой, сколько вопросов smile.gif
1. Беру данные с другого сайта в кодировке utf-8 судя по мета-тегу.
2. Перевожу с utf в windows-1251.
3. Моя страница в кодировке windows-1251.
4. А это не знаю, как узнать?

У меня просто есть еще одна переменная этого же двухемерного массива, которая при записи, которая указана выше работает корректно.

Здесь же, необъяснимо убирает часть символов, оставляя только 5 (с пробелом).

Спустя 1 час, 40 минут, 48 секунд (19.02.2009 - 12:14) Alchemist написал(а):
вообще-то в пхп кодировка пишется UTF-8, а не UTF8

Спустя 52 минуты, 27 секунд (19.02.2009 - 13:06) Юрий Шу написал(а):
Alchemist, это я уже исправил, и кавычки тоже поставил.

Спустя 20 часов, 52 минуты, 36 секунд (20.02.2009 - 09:59) Юрий Шу написал(а):
Ребят, кто-нибудь подскажите пожалуйста еще что с этой ситуацией можно сделать?

Я тут пробую разные варианты, но толку 0. huh.gif

Вот эти символы кстати
HTML
ООО «
отражаются верно, просто не полностью строка отображена.

Спустя 2 дня, 3 часа, 26 минут, 56 секунд (22.02.2009 - 13:26) Alchemist написал(а):
приведи больший кусок кода...

Спустя 2 месяца, 11 дней, 4 часа, 33 минуты, 56 секунд (3.05.2009 - 17:00) Iven написал(а):
сайт joomla в utf форум ipb в win1252
бд одна для всех в utf - если просматривать ее то сайт пишет читаемо а форум крякозябриками (в win 1252 похоже)
на форуме отображается все нормально
но на сайте есть меню пользователя и там приветствие с именем - имя отобржается не корректно

пытался делать так

$usser = $user->get('name');
echo $usser; echo "__1__";
echo iconv("windows-1252", "UTF-8", $usser); echo "__2__";
echo iconv("ASCII//TRANSLIT", "UTF-8", $usser); echo "__3__";

$q = 'EaieoioeaAinouIa?aaiiue';
$s = mb_detect_encoding($q);//Определяем кодировку
$q = iconv($s, 'UTF-8', $q);//Декодируем
echo $s;echo "__4__";

echo $q;echo "__5__";


$q = $user->get('name');
$s = mb_detect_encoding($q);//Определяем кодировку
$q = iconv($s, 'UTF-8', $q);//Декодируем
echo $s;echo "__6__";

echo $q;echo "__7__";

получаем


ÊàïèòîøêàÃîñòüÍåæäàííûé__1__Êà ïèòîøêà ÃîñòüÃ__2____3__ASCII__4__EaieoioeaAinouIa?aaiiue__5__UTF-8__6__ÊàïèòîøêàÃîñòüÍåæäàííûé__7__


3 вариант пустой - видно что-то не так с названием кодировки анси

а изначально вообще это слово КапитошкаГостьНежданный )

Спустя 7 минут, 29 секунд (3.05.2009 - 17:07) Iven написал(а):
ну и заодно если получится разобратся с данной непонятной кодировкой было бы не плохо узнать как указывать в какой кодировке отправлять данные post-ом в исходящей форме

Спустя 18 часов, 1 минута, 50 секунд (4.05.2009 - 11:09) Vaska написал(а):
Попробуйте, если не пробовали, функцию utf8_decode()

Спустя 2 часа, 38 минут, 59 секунд (4.05.2009 - 13:48) Iven написал(а):
хм методом тыка таки добился нужного результата
кто бы мне еще его пояснил ...

$usr = $user->get('name');
$ussr = iconv("UTF-8", "windows-1252", $usr); - это нормально отображается если включить в браузере просмотр сайта в win1251
$usssr = iconv("windows-1251", "UTF-8", $ussr);
echo $usssr;

а в результате всей этой схемы начинает нормально показывать в utf )

ну и остался поднятый вопрос на счет post-a
как бы данную схему применитьть в обратном порядке для исходящей формы а не приемника

Спустя 26 минут, 58 секунд (4.05.2009 - 14:15) Bezdna написал(а):
Может ответ на твой вопрос здесь?

Спустя 2 часа, 3 минуты, 21 секунда (4.05.2009 - 16:18) Joker написал(а):
Iven Замечание: нарушение правила 2 п.5с "При оформлении сообщения с программным кодом используйте обрамляющие тэги."




Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.