Перевод сайта на unicode и вопрос по zlib.
Первый вопрос:
Пишу сайт, хочу перевести его на юникод (что-бы можно было постить даже на японском языке (сайт по аниме)) следующими способами:
1. Пытался перевести кодировку всех скриптов в UTF-8, но в результате с сервера код страницы высылается с 3 экстра-байтами спереди (видимо заголовок UTF-8 файла), в результате я постоянно получаю ошибку о том, что невозможно модифицировать header, т.к. он уже послан. Вырезка со скрипта, закодирован в UTF-8.
Код:
<?php
ini_set('zlib.output_compression','On');
ini_set('zlib.output_compression_level','5');
ini_set('zlib.output_handler','');
header('Content-type: text/html; charset=UTF-8');
...
?>
ini_set('zlib.output_compression','On');
ini_set('zlib.output_compression_level','5');
ini_set('zlib.output_handler','');
header('Content-type: text/html; charset=UTF-8');
...
?>
Результат:
[html]\xef\xbb\xbf<br />
<b>Warning</b>: ini_set(): Cannot change zlib.output_compression - headers already sent in <b>F:\...\index2.php</b> on line <b>2</b><br />
<br />
<b>Warning</b>: ini_set(): Cannot change zlib.output_handler - headers already sent in <b>F:\...\index2.php</b> on line <b>4</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at F:\...\index2.php:1) in <b>F:\...\index2.php</b> on line <b>5</b><br />
...[/html]
2. Ещё пытался конвертировать каждую выводимую строку с помощью mb_convert_encoding. Оно-то работает, но такой способ жутко неудобен! Я даже не знаю, правильно ли это...
Собственно это всё что я хотел спросить по поводу перевода сайта на юникод.
Следующий вопрос:
Как узнать, сжалась-ли страница с помощью zlib, или нет.
И вообще, не могу ничего понять, у меня и комм-виев демо есть, и етхереал... Ни один из них не словил пакет с кодом той страницы, к которой я обратился, только заголовок ловит...
Нужно ли ещё что-нибудь добавлять в тело скрипта, кроме представленных выше, в первой вырезке измененных опций для сжатия страницы?
С новым годом, товаресчи. :)
И еще моментик... Если собственно информационное наполнение страницы генерируется не в самом PHP-скрипте, а берется из внешних файлов, то сам скрипт можно не кодировать в UTF-8, а оставить в кодировке ANSI. И перекодировать только файлы с информацией.
А все потому, что ASCII-символы (0-127) имеют одинаковое представление и в ANSI, и в UTF-8 кодировках
Благодарю, второй вариант для меня хорош, потому-что сайт у меня работает на шаблонах.
Смотри HTTP заголовки. В Content-Encoding должно быть gzip.