проблема с iconv на локалке

Valenok

Новичок
проблема с iconv на локалке

PHP:
<?php
header("Content-Type: text/html; charset=utf-8");
ob_start('b_out');
function b_out($buffer) {    return iconv('','UTF-8',$buffer); }
echo "Sasha 123 Саша";
На локалке имею Sasha 123 РЎР°С?Р°
а на хостинге всё ок.
Подскажите како мануал ещё посмотреть или куда копать

P.S. насчёт локали. Может проблема в нет, но какую выстваить если в одном скрипте я манипулирую строками на 3-4 языках?
 

Valenok

Новичок
nilcolor at gmail dot coom
24-Nov-2005 01:29
Didn't know its a feature or not but its works for me (PHP 5.0.4)

iconv('', 'UTF-8', $str)

test it to convert from windows-1251 (stored in DB) to UTF-8 (which i use for web pages).
BTW i convert each array i fetch from DB with array_walk_recursive...
P.S. ну ведь перекодировывает. проблема с отображением
P.P.S. на всё хостинге работает, у меня нет.
P.P.S а какую мне кодировку там вписать?
 

Valenok

Новичок
Мой скрипт выглядит так:

PHP:
<?php
header("Content-Type: text/html; charset=utf-8");
ob_start('b_out');
function b_out($buffer) {    return iconv('','UTF-8',$buffer); }
echo "abc";
echo "фыв"   
echo "&#1513;&#1491;&#1490;&#1499;"   
echo "&#1588;&#1587;&#1740; &#1587;&#1589;&#1579;&#1579;&#1602;"   
echo $_POST['message'];
Исходная ISO-8859-1 ? Попробовал с ней. Лучше не стало
 

p0is0n

Новичок
Исходная это кодировка вашего скрипта ( в данном случае )
 

Valenok

Новичок
В оригинале идут не & #1588; .. , а Фарский и иврит



Скрипт сохранён в кодировке utf-8

File -> Save as

File name: a.php
Save as type: PHP (.php)
Encoding: UTF-8

-~{}~ 13.09.07 16:15:

p0is0n , сенкс
Блин, надо было сразу сказать что ничего никуда перекодировывать не надо если скрипт сохранён в utf-8
 

Фанат

oncle terrible
Команда форума
В оригинале идут Фарский и иврит
скажи мне, милый ребенок.
а iconv-то об этом откуда узнает?

-~{}~ 13.09.07 16:16:

Блин, надо было сразу сказать что не надо перекодировать в utf-8 если скрипт сохранён в utf-8
гыгы, жесть!
 

Valenok

Новичок
Он и не знает.
Я для этого и оставил пустым поле input encoding
и что же туда написать, какую кодировку если в буфере идёт мультиязычный текст?
 

Фанат

oncle terrible
Команда форума
откуда ты взял мультиязычность? не бывает никакой мультиязычности. браузер не знает ни одного языка. только кодировки. а кодировка может быть только одна

-~{}~ 13.09.07 16:39:

Mr_Max
не тупи
 

Valenok

Новичок
Круто, здорово, аплодисменты браузеру.
Мне какую кодировку вставить в iconv
или что изменить в этом скрипте
PHP:
<?php
header("Content-Type: text/html; charset=utf-8");
ob_start('b_out');
function b_out($buffer) {    return iconv('','UTF-8',$buffer); }
echo "Sasha 123 Саша &#1513;&#1491;&#1490; &#255;&#946; $_POST['message']";
чтоб он работал не только на хостинге но и у меня на локалке,
потому что я не вижу к какому направлению вы клоните.

Браузер понимает кодировку UTF-8
Я хочу выводить ему данные в этой кодировке
Для этого использую iconv чтоб перекодировывать

Из вашего обхяснения я ещё могу понять что следует делать так:
PHP:
header("Content-Type: text/html; charset=utf-8");
echo iconv("windows-1251","utf-8","Саша");
echo iconv("windows-1255","utf-8","&#1513;&#1491;&#1490;");
Делать так?
Тоесть в буфере в моём исходном коде имеются строки разных кодировок поэтому указать одну кодировку и запустить iconv один раз для буффера не выйдет?
А если оставить поле input encoding пустым?
И самое главное, как же всё это работает на хостинге, а у меня нет. Я понимаю что у них линукс, но какие нстройки мне нужно подкрутить у себя чтоб и у меня всё работало.

-~{}~ 13.09.07 17:03:

p0is0n
из трёх основных источников
БД, файлы, user_input (и простой вывод скрипта if() echo 'access denied')
также подключаются шаблонные файлы с вписанным в них текстом
 

Valenok

Новичок
потому что многое выводится и не только из БД.
а и из самого скрипта

if(!$access)
{
echo 'access denied';
echo 'Доступ запрещён';
echo '&#1513;&#1491;&#1490;&#1499;&#1506; &#1506;&#1491;&#1491;&#1499;&#1511;''&#1499;';
}

-~{}~ 13.09.07 17:32:

http://flower2.info/c.JPG
 

FreeSpace

Чукча-читатель
Если у тебя PHP-файл в кодировке UTF-8 и выводишь ты данные тоже в кодировке UTF-8, то iconv тебе не нужен.
 

Valenok

Новичок
Слава богу, разобрались.
Фaнaт, теперь можешь гыгы ржать, стоять на ушах и т.д.
FreeSpace, p0is0n Спасибо.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Valenok
а вот хамить не следует.
 
Сверху