Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Кодировка сайта
Форумы портала PHP.SU » Клиентская разработка » HTML, Дизайн & CSS » Кодировка сайта

Страниц (1): [1]
 

1. SergeantPEPPER - 13 Марта, 2008 - 18:57:49 - перейти к сообщению
Доброго времени суток )

Написал сайт выложил его на сервер, зашел с левого компьютера по internet адресу моей главной страницы.

Проблема заключается в том, что, прописав в html коде выбор кодировки
CODE (text):
скопировать код в буфер обмена
  1. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

я обнаружил, что получая мою страницу все браузеры автоматически выбирают кодировку utf-8 ?!?!?!?

Потом я обнаружил, что русский текст, присутствующий на сайте, отображается в виде абракадабры (на серваке Ubuntu Linux) - то есть редактор, в котором я писал русский тескт сохранял в кодировке utf-8 ??? - так что ли получается? Однако

С другой стороны, мне тогда не понятно, почему я устанавливаю кодировку в браузере вручную и после этого русский текст отображается нормально ???!?!?!

Чо то я конкретно запутался Не понял

В принципе на эту страницу можно попасть по адресу [url]vmk.ksu.ru/testsys[/url] - просто на данный момент сервер почему-то не отвечает... Надо будет завтра посмотреть почему...
2. Dastar - 14 Марта, 2008 - 11:19:49 - перейти к сообщению
Кодировку можно жестко задать с помощью файла .htaccess
Подробней
3. valenok - 14 Марта, 2008 - 12:24:30 - перейти к сообщению
Dastar
Можно, но не нужно.

SergeantPEPPER
Браузер определяет кодировку двумя способами.
По указанной в заголовках и по указанной в документе.
Некоторые браузеры отдают предпочтение заголовкам, другие по ошибке документу.
Следовательно указывать следует обе след образом:

<?php header("Content-Type: text/html; charset=utf-8"); ?>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
4. SergeantPEPPER - 14 Марта, 2008 - 18:44:52 - перейти к сообщению
Спасибо передача в Header помогла, т.е. теперь автоматически выбирается нужная мне кодировка.

Но вот что делать, если кодировка браузером выбрана правильно, а вместо нормальных букв все равно показывается абракадабра??? Однако

Причем эта абракадабра совсем не та, о которой я спрашивал сначала.

У меня сайт работает на windows-1251, а сначала браузер выбирал utf-8 - Но эту проблему я с вашей помощью решил... ( При этом вместо русских букв были вопросики ).
А вот в этом случае не вопросики, а что то типа этого:
CODE (text):
скопировать код в буфер обмена
  1. &#741;&#44456;&#36655;a>
  2. ®&#64558;&#55727;&#57135;a>
  3. &#946;&#10610;??&#23269;&#40751;a>
  4. &#1138;&#3240;&#55690;&#56874;&#2095;&#60156;&#31650;&#3237;&#47465;
  5. &#1006;&#48935;&#59552;&#55894;&#57064;
  6. о&#55690;&#56674;&#4064;&#43880;&#14396;/a>
  7. &#1138;&#3240;?&#35168;&#55691;&#56352;&#55862;?
  8. &#864;&#55691;&#56366;&#39592; &#55618;&#56946;&#3887;a>

вообще черт знает что...

Дело в том, что эти части сайта я писал отдельно. Вот конкретно эту я писал в Блокноте.
5. valenok - 14 Марта, 2008 - 18:48:26 - перейти к сообщению
Может вы сам файл с неправильной кодировкой сохранили?
Save as

Name: x.php
Type: * all files
Encoding: ANSI
6. SergeantPEPPER - 14 Марта, 2008 - 18:56:51 - перейти к сообщению
ANSI - это кодировка нужная мне я так понял?

Кстати, а вот интересно почему всегда дома все работает отменно, а как
начинаешь куда-нибудь ставить - все глючит??? Улыбка

Блин, достали эти кодировки Улыбка

А вот не скажете ли где можно посмотреть в какой кодировке текущий текст и
там же ее изменить?

**********

Вообще я сейчас посмотрел эти файлы Lister-ом - все нормально, стоит ANSI

Кстати, ANSI - это ведь не кодировка, а стандарт? Как же ее насильственно прописать?
7. NOBEL - 03 Июня, 2008 - 02:45:24 - перейти к сообщению
Я как то долго мучался с одним сайтом. Прикол в том сосоялся, что все нормалтно заработало, когда я выставил кодировку вообще другую, не ту, которая выставлена в мета тегах, её пришлось подбирать... А?!
8. scuter - 03 Июня, 2008 - 14:23:47 - перейти к сообщению
такое бывает на некоторых хостингах,
в частности на ник.ру там наверное .htaccess прописать надо.
9. NOBEL - 25 Июня, 2008 - 06:36:35 - перейти к сообщению
Интересно, можно ли писануть страницу сразу на нескольких кодировках?
Точнее, прописывать разные для разных частей, вся страница - то в нормальной кодировке.

При работе с глючним хостом, кидаем её (страницу) на него, грузим браузером и смотрим, тескст в какой кодировке отобразился првильно.
10. EuGen - 25 Июня, 2008 - 09:41:13 - перейти к сообщению
Кодировка всего документа все равно будет одна и та же. Но вывести текст в разных кодировках можно:
http://php.su/functions/?iconv
11. aldan8 - 06 Июня, 2009 - 23:35:32 - перейти к сообщению
valenok пишет:
Браузер определяет кодировку двумя способами.
По указанной в заголовках и по указанной в документе.
Некоторые браузеры отдают предпочтение заголовкам, другие по ошибке документу.
Следовательно указывать следует обе след образом:

<?php header("Content-Type: text/html; charset=utf-8"); ?>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />


я прописал header("Content-Type: text/html; charset=utf-8"); в одном из методов(функций) класса и мне выдает следущую ошибку:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. Warning: Cannot modify header information - headers already sent by (output started at Z:\home\webpage.com\www\page.php:80) in Z:\home\webpage.com\www\page.php on line 82
  3.  

В классе нельзя вызывать функцию header ?
12. OverNik - 14 Ноября, 2009 - 01:06:58 - перейти к сообщению
Функцию Header нужно вызывать только перед тегом HTML, иначе она не будет работать!

 

Powered by ExBB FM 1.0 RC1