Проблема с кодировкой

Статус
В этой теме нельзя размещать новые ответы.

dimagolov

Новичок
аспект такой. откуда беруться данные, которые неправильно отображаются.

вместо приседаний с буферм вывода ты просто мог сделать
PHP:
iconv('WINDOWS-1251', 'UTF-8', $hello.', '.$world );
, что означало бы, что файл сохранен в 1251. но ты почему-то страдаешь с буферами, что наводи на мысль, что у тебя какой-то черный ящик, который выводит что-то в 1251 и ты не знаешь как его заставить хотя бы не выводить, а возвращать в переменную или выводить в нужной тебе кодировке.

а ссылка про mysql от того, что есть подозрение, что черный ящик берет данные из мускля.

-~{}~ 12.05.09 16:01:

*****, да неверю я про тестовую страницу. из-за "?" и из-за приседаний с буферами
 

FiMko

Новичок
Автор оригинала: *****
dimagolov, у него тестовая ж вроде страница

FiMko, мануалы-то читать нет смысла имхо. тут с редактором надо разбираться
Тестовая и есть. Весь код, что в файликах php приведен выше, а именно:
PHP:
<?php header( 'content-type: text/html; charset=utf-8' );
    print("Это просто текст");
?>
Настоящая рабочая версия выглядит так:
PHP:
<?php
    error_reporting(E_ALL);
    ob_start(); // включить буферизацию вывода
    ob_implicit_flush(0); // отключить неявную очистку

    print("Это просто текст");

    // конвертируем
    $flush = iconv('WINDOWS-1251', 'UTF-8',
        ob_get_contents() // получить содержимое буфера
    );
    ob_end_clean(); // очистить содержимое буфера

    echo $flush;
?>
Что качается редакторов, пользовал notepad++, потом notepad.
 

Фанат

oncle terrible
Команда форума
ну нотепад точно умеет сохранять в утфе. попробуй еще раз
 

FiMko

Новичок
Автор оригинала: dimagolov
аспект такой. откуда беруться данные, которые неправильно отображаются.

вместо приседаний с буферм вывода ты просто мог сделать
PHP:
iconv('WINDOWS-1251', 'UTF-8', $hello.', '.$world );
, что означало бы, что файл сохранен в 1251. но ты почему-то страдаешь с буферами, что наводи на мысль, что у тебя какой-то черный ящик, который выводит что-то в 1251 и ты не знаешь как его заставить хотя бы не выводить, а возвращать в переменную или выводить в нужной тебе кодировке.

а ссылка про mysql от того, что есть подозрение, что черный ящик берет данные из мускля.
Мускуль нипричем, траст ми, содержимое файлов такое как я привел.
Приседания с буфером для меня самого вещь новая, как я отметил это решение мне подсказали. Использован буфер, имхо, лишь по той простой причине, что ВЕСЬ вывод из win1251 гнать в utf8, потом выводить, а ВЕСЬ вывод может подразумевать гораздо больший объем текста нежели чем hello world. Я так себе эти приседания понимаю, поправьте, если гоню.

---------------------------
PHP:
<?php
	ob_start(); // включить буферизацию вывода
	ob_implicit_flush(0); // отключить неявную очистку
?>

<p>А_это_просто_какой-то_большой_текст_в_html,_который_ну_никак_не_хотел_нормально_отображаться...</p>

<?php	// конвертируем
	$flush = iconv('WINDOWS-1251', 'UTF-8',
		ob_get_contents() // получить содержимое буфера
	);
	ob_end_clean(); // очистить содержимое буфера
	echo $flush;
?>
---------------------------
 

dimagolov

Новичок
ВЕСЬ вывод ведь не Богом данная сущность, это строчки, которые беруться из других файлов, из БД или с других сайтов, еще могут приходить от клиента в запросах. Иного не дано. и получать-выводить надо сразу в нужной кодировке, а не страдать маразмом перекодирования 1251 в utf8. Маразм в том, что utf позволяет хранить и отображать данные в разных национальных кодировках ОДНОВРЕМЕННО, например western (1252) и cyrillic (1251). То же что делаешь ты, это полный идиотизм лишенный всякого смысла, так как браузеру пофигу что отобразить, 1251 или его же, перекодированный в utf-8, и видимая для тебя польза лишь в том, чтобы обойти неправильно указанный в конфиге веб-сервера default charset.

но если ты не послушаешь меня, то еще наступишь на грабли при получении данных от пользователя и их последующей обработкой, так как опять, кодировка будет не та и более того, коректно преобразовать utf8 в 1251 можно далеко не всегда, вернее очень небольшое подмножество символов.
 

FiMko

Новичок
Автор оригинала: dimagolov
ВЕСЬ вывод ведь не Богом данная сущность, это строчки, которые берутся из других файлов, из БД или с других сайтов, еще могут приходить от клиента в запросах. Иного не дано. и получать-выводить надо сразу в нужной кодировке, а не страдать маразмом перекодирования 1251 в utf8. Маразм в том, что utf позволяет хранить и отображать данные в разных национальных кодировках ОДНОВРЕМЕННО, например western (1252) и cyrillic (1251). То же что делаешь ты, это полный идиотизм лишенный всякого смысла, так как браузеру пофигу что отобразить, 1251 или его же, перекодированный в utf-8, и видимая для тебя польза лишь в том, чтобы обойти неправильно указанный в конфиге веб-сервера default charset.
ВОТ! Вот он момент истины, все именно так, я тоже предполагал что это дополнительные никому не нужные преобразования.
Автор оригинала: dimagolov
но если ты не послушаешь меня, то еще наступишь на грабли при получении данных от пользователя и их последующей обработкой, так как опять, кодировка будет не та и более того, корректно преобразовать utf8 в 1251 можно далеко не всегда, вернее очень небольшое подмножество символов.
Так что именно слушать, что предпринять? Говори, готов следовать-с .:)
 

dimagolov

Новичок
- Иван, мы шли?
- Шли..
- Кожух нашли?
- Нашли..
- Кожух продали?
- Продали..
- Деньги пропили?
- Пропили?
- Так где кожух?
- Василь, мы шли?
...

надо тебе перекодировать свой html, который ты включаешь судя по всему через include в utf-8. это если я правильно угадал откуда берется твое А_это_просто_какой-то_большой_текст_в_html,_который_ну_никак_не_хотел_нормально_отображаться
:)
 

FiMko

Новичок
Автор оригинала: dimagolov
надо тебе перекодировать свой html, который ты включаешь судя по всему через include в utf-8. это если я правильно угадал откуда берется твое А_это_просто_какой-то_большой_текст_в_html,_который_ну_никак_не_хотел_нормально_отображаться
:)
Не включаю я никого через инклюд, просто php разорван html, весь этот файл сохранен был изначально в utf-8, потом его сохранил в win1251 и перегонял в utf-8. Тьфу, я устал все это повторять, чеслово.
dimagolov, ты не додумывай ничего, про базы, про инклюды и т.п. Я ничего не утаиваю, все приводил уже.
Ты сказал слушай меня иначе конец, что слушать, скажи однозначно.
 

dimagolov

Новичок
Как ей можно перекодировать ?
ты головой пользуешься для чего-либо кроме как поедания пищи через нее?
перекодировать надо не во время исполнения скрипта, а ФАЙЛ, который используется.

хотя у тебя он скорее всего инклюдится через url-wrapper, от того ты и выглядишь полным идиотом.

-~{}~ 12.05.09 16:53:

да, не включаешь? ну так сохрани свой php в UTF-8, в конце концов.
 

FiMko

Новичок
Автор оригинала: dimagolov
ты головой пользуешься для чего-либо кроме как поедания пищи через нее?
перекодировать надо не во время исполнения скрипта, а ФАЙЛ, который используется.

хотя у тебя он скорее всего инклюдится через url-wrapper, от того ты и выглядишь полным идиотом.
Я уже утомляться начинаю, скажи как на духу ты правда веришь что ОНИ за нами следят? Имею в виду зеленые человечки.
Я пишу уже сто раз сохранял в утф8, ты мало того, что начал читать топ с середины по ходу, еще и преподнес себя как едино спасителя, теперь уж либо доводи дело, либо сам понимаешь как будешь выглядеть в глазах общественности.
 

dimagolov

Новичок
жесть. человек не способен сохранить скрипт в нужной кодировке уже 2 страницы. потом окажется, что сохраняет он один файл, а на хостинг его или не заливает вообще или заливает другой и вообще, у него notepad++ открывает файл по ftp, но не по тому, что надо.
 

FiMko

Новичок
Автор оригинала: dimagolov
жесть. человек не способен сохранить скрипт в нужной кодировке уже 2 страницы. потом окажется, что сохраняет он один файл, а на хостинг его или не заливает вообще или заливает другой и вообще, у него notepad++ открывает файл по ftp, но не по тому, что надо.
dimagolov, нет ни враппера, ни редактирования файлов по фтп, равно как нет и инклудов и баз. Зря ты пустился на личности переходить, я плохого, кажется, ничего тебе не делал, не сори тут, пожалуйста. Я уверен мы с тобой договорились бы в реале за пять минут и поняли бы друг друга, но вот такое общение через форум нас с тобой окончательно запутало.

ЗЫ: твою мысль, по поводу не нужной перекодировки из win1251 в utf8 по-прежнему считаю верной. Жаль, что ты не знаешь, похоже, другого пути решения.
 

Lews

Новичок
FiMko
переименуйте файл свой в *.txt, и выложите на тот же хостинг, и дайте ссылку на него :)
 

Фанат

oncle terrible
Команда форума
Lews
а толку?

-~{}~ 13.05.09 13:12:

если
человек не способен сохранить скрипт в нужной кодировке уже 2 страницы
то помочь ему, действительно, ничем нельзя.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху