Вход на сайт
Настроить кодировку
654
NEW 12.10.09 12:47
Знатоки, подскажите плз, как проблемку beheben?
Дано:
- сайт сделан "вручную", на php, без движка, на русском языке.
- хостер немецкий, кодировка на сервере iso-8859-1, функция настройки add_default_charset не активна (закрыта хостером);
в кодировке юникод показывается в символах вместо букв, включение нужной кодировки в браузере дает положительный эффект (но не все ж посещающие станут искать переключатель, когда страница открывается криво).
после перевода страниц и БД в windows-1251, результат... приводит в бешенство.
понятно, что это - из-за кодировки сервера (iso-8859-1).
Вопрос:
Возможно ли договориться с хостером по поводу самостоятельного доступа к настройке кодировки?
Мож еще чё-нить посоветуете?
Дано:
- сайт сделан "вручную", на php, без движка, на русском языке.
- хостер немецкий, кодировка на сервере iso-8859-1, функция настройки add_default_charset не активна (закрыта хостером);
в кодировке юникод показывается в символах вместо букв, включение нужной кодировки в браузере дает положительный эффект (но не все ж посещающие станут искать переключатель, когда страница открывается криво).
после перевода страниц и БД в windows-1251, результат... приводит в бешенство.
понятно, что это - из-за кодировки сервера (iso-8859-1).
Вопрос:
Возможно ли договориться с хостером по поводу самостоятельного доступа к настройке кодировки?
Мож еще чё-нить посоветуете?
Никогда не мотай на ус то, что тебе вешают на уши... Те, кто говорит, что так не бывает, пусть не мешают тем, кто так делает.
NEW 12.10.09 14:49
в ответ eleron 12.10.09 12:47
Если у тебя есть php, то совершенно пофигу, какая кодировка настроена на сервере... хоть китайский-дворовой...
Просто в php до первой "выдачи" данных прописываешь нужные тебе хидеры...
Если у тебя кодировка текста 1251, то
Просто в php до первой "выдачи" данных прописываешь нужные тебе хидеры...
Если у тебя кодировка текста 1251, то
header ('Content-Type: text/html; charset=windows-1251');
если UTF-8, то
header ('Content-Type: text/html; charset=utf-8');
NEW 13.10.09 09:04
Это - как "с добрым утром", обязательно есть, задано с самого начала. Ток не помогает.
Сайт был спланирован и сверстан в utf-8, с моего компа смотрелся нормально, "налюдатели" со стороны сообщали, что при первой загрузке рус шрифтов нет, надо кодировку браузера в ручную на юникод переключать, тада все ОК. И вот однажды...
я решил перекрасить его в win-1251, вот тут-то всё и началось! Т.е. закончилось. Теперь и переключение браузёра не помогает.
Кто еще пользуется немецким хостингом для сайта на русском языке, подскажите как у Вас эта ... штука реализована.
в ответ GANDJUBAS 12.10.09 14:49
В ответ на:
header ('Content-Type: text/html; charset=windows-1251');
если UTF-8, то
header ('Content-Type: text/html; charset=utf-8');
header ('Content-Type: text/html; charset=windows-1251');
если UTF-8, то
header ('Content-Type: text/html; charset=utf-8');
Это - как "с добрым утром", обязательно есть, задано с самого начала. Ток не помогает.
В ответ на:
header('Content-Type: text/html; charset=utf-8');
пробовал?
header('Content-Type: text/html; charset=utf-8');
пробовал?
Сайт был спланирован и сверстан в utf-8, с моего компа смотрелся нормально, "налюдатели" со стороны сообщали, что при первой загрузке рус шрифтов нет, надо кодировку браузера в ручную на юникод переключать, тада все ОК. И вот однажды...

Кто еще пользуется немецким хостингом для сайта на русском языке, подскажите как у Вас эта ... штука реализована.
Безвыходных ситуаций не бывает: даже если вас съели - у вас есть два
выхода!
http://www.photoshop-library.com
http://www.photoshop-library.com
Никогда не мотай на ус то, что тебе вешают на уши... Те, кто говорит, что так не бывает, пусть не мешают тем, кто так делает.
NEW 13.10.09 11:39
http://de.wikipedia.org/wiki/Byte_Order_Mark
Обычно UTF-8-файлы начинаются с этого "символа", в итоге, если это php-скрипт, символ интерпретируется как текст и выдает до прописывания хидеров.
Но в нормальных текстовых редакторах можно сохранят utf-8 без bom.
Обычно UTF-8-файлы начинаются с этого "символа", в итоге, если это php-скрипт, символ интерпретируется как текст и выдает до прописывания хидеров.
Но в нормальных текстовых редакторах можно сохранят utf-8 без bom.
NEW 13.10.09 13:03
это да, локальный "работает лучше", чем в сети
Про ВОМ не знал ничего, поэтому сохранял стандартно, как это делается в Дриме: файл > сохранить как....
Вот, посмотрите начало страницы:
<?php
include ("blocks/bd.php");
$result = mysql_query ("SELECT title,meta_d,meta_k,text FROM settings WHERE page='index'",$db);
if (!$result)
{
echo "<p>Неудачный запрос на вывод данных из базы. Свяжитесь с администратором
<strong>Код ошибки:</strong></p>";
exit (mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array ($result);
}
else
{
echo "<p>Информация по запросу недоступна. В базе данных нет записей!</p>";
exit();
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="description" content="<?php echo $myrow ['meta_d']; ?>">
<meta name="keywords" content="<?php echo $myrow ['meta_k']; ?>">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
В юникоде, соответственно, было: charset=utf-8
в ответ Валидол 13.10.09 11:35
В ответ на:
возможно, что домашний сервер не показывает всех ПХП ошибок
возможно, что домашний сервер не показывает всех ПХП ошибок
это да, локальный "работает лучше", чем в сети

Про ВОМ не знал ничего, поэтому сохранял стандартно, как это делается в Дриме: файл > сохранить как....
Вот, посмотрите начало страницы:
<?php
include ("blocks/bd.php");
$result = mysql_query ("SELECT title,meta_d,meta_k,text FROM settings WHERE page='index'",$db);
if (!$result)
{
echo "<p>Неудачный запрос на вывод данных из базы. Свяжитесь с администратором
<strong>Код ошибки:</strong></p>";
exit (mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array ($result);
}
else
{
echo "<p>Информация по запросу недоступна. В базе данных нет записей!</p>";
exit();
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="description" content="<?php echo $myrow ['meta_d']; ?>">
<meta name="keywords" content="<?php echo $myrow ['meta_k']; ?>">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
В юникоде, соответственно, было: charset=utf-8
Безвыходных ситуаций не бывает: даже если вас съели - у вас есть два выхода!
http://www.photoshop-library.com
http://www.photoshop-library.com
Никогда не мотай на ус то, что тебе вешают на уши... Те, кто говорит, что так не бывает, пусть не мешают тем, кто так делает.
NEW 13.10.09 13:19
Для уникода, поставь вверху..
header('Content-Type: text/html; charset=utf-8');
T.E верх твоего кода изменится на..
header('Content-Type: text/html; charset=utf-8');
T.E верх твоего кода изменится на..
<?php
header('Content-Type: text/html; charset=utf-8');
include ("blocks/bd.php");
*******
IMHO: <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> не обязателен. И еще, домашний сервер должен показывать а не замалчивать их. т.е должен быть ХУЖЕ ;)
NEW 14.10.09 01:17
Где-то здесь у тебя что-то сбрасывается на выход. Как только что-то туда отправляется - отсутствующие заголовки прописываются как заданы на сервере и они не переопределяются. Просто пиши так, чтобы все генерилось корректно.
в ответ eleron 13.10.09 13:03
В ответ на:
<?php
include ("blocks/bd.php");
$result = mysql_query ("SELECT title,meta_d,meta_k,text FROM settings WHERE page='index'",$db);
if (!$result)
{
echo "<p>Неудачный запрос на вывод данных из базы. Свяжитесь с администратором
<strong>Код ошибки:</strong></p>";
exit (mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array ($result);
}
else
{
echo "<p>Информация по запросу недоступна. В базе данных нет записей!</p>";
exit();
}
?>
<?php
include ("blocks/bd.php");
$result = mysql_query ("SELECT title,meta_d,meta_k,text FROM settings WHERE page='index'",$db);
if (!$result)
{
echo "<p>Неудачный запрос на вывод данных из базы. Свяжитесь с администратором
<strong>Код ошибки:</strong></p>";
exit (mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array ($result);
}
else
{
echo "<p>Информация по запросу недоступна. В базе данных нет записей!</p>";
exit();
}
?>
Где-то здесь у тебя что-то сбрасывается на выход. Как только что-то туда отправляется - отсутствующие заголовки прописываются как заданы на сервере и они не переопределяются. Просто пиши так, чтобы все генерилось корректно.
19.10.09 14:42
Это - проверка переменных, если хоть одна переменная пуста, выдается сообщение об ошибке или о том, что в базе по этой ссылке пусто.
К сожалению, не помогло.
Думаю, дело всетаки в кодировке, установленной на сервере по умолчанию.
В ответ на:
Где-то здесь у тебя что-то сбрасывается на выход.
Где-то здесь у тебя что-то сбрасывается на выход.
Это - проверка переменных, если хоть одна переменная пуста, выдается сообщение об ошибке или о том, что в базе по этой ссылке пусто.
В ответ на:
Для уникода, поставь вверху..
header('Content-Type: text/html; charset=utf-8');
Для уникода, поставь вверху..
header('Content-Type: text/html; charset=utf-8');
К сожалению, не помогло.

Думаю, дело всетаки в кодировке, установленной на сервере по умолчанию.
Никогда не мотай на ус то, что тебе вешают на уши... Те, кто говорит, что так не бывает, пусть не мешают тем, кто так делает.
NEW 19.10.09 16:40
C юникодом-то проблем не было
, проблемы начались когда я захотел в win-1251 перевести.
В смысле? Провайдер alfahosting.
в ответ Валидол 19.10.09 14:47
В ответ на:
Для уникода, поставь вверху..
header('Content-Type: text/html; charset=utf-8');
Для уникода, поставь вверху..
header('Content-Type: text/html; charset=utf-8');
C юникодом-то проблем не было

В ответ на:
что за сервер?
что за сервер?
В смысле? Провайдер alfahosting.
Никогда не мотай на ус то, что тебе вешают на уши... Те, кто говорит, что так не бывает, пусть не мешают тем, кто так делает.
NEW 19.10.09 20:37
в ответ eleron 19.10.09 14:42
Это...
-----
ну, еще раз - сброс чего-либо, вообще хоть чего-то - например, одного пробела или
перевода строки, - на выход вызывает автоматическое прописывание заголовков.
Тех заголовков, которые заданы по умолчанию и которые переписать уже невозможно.
Ферштайн?
-----
ну, еще раз - сброс чего-либо, вообще хоть чего-то - например, одного пробела или
перевода строки, - на выход вызывает автоматическое прописывание заголовков.
Тех заголовков, которые заданы по умолчанию и которые переписать уже невозможно.
Ферштайн?
NEW 19.10.09 21:43
в ответ eleron 19.10.09 16:40
про прова я спросил подумав о бесолатном хостинге там, чтобы проверить твои слова о том что Header() не аботает. Бесплатного я не увидел. Ну да ладно.
..
Как я говорил выше настрой свой домашний сервер на выдачу всех ошибок и предупреждений. Легче будет отловить ошибку.
..
Как я говорил выше настрой свой домашний сервер на выдачу всех ошибок и предупреждений. Легче будет отловить ошибку.
NEW 20.10.09 10:00
А в чем кстати проблема, ну и оставил бы сайт на утф8.
А вообще, старый хостер, у которого стоял мой уже закрывшийся первый сайт, тоже была кодировка по умолчанию в iso-8859-1, но при этом проблем с windows-1251 не наблюдал.
Может ты просто переведя сайт на windows-1251 забыл сам файл переконвертировать из UTF в ANSI?
Моё личное мнение, нужно забывать про старые кодировки, и работать с универсальной UTF кодировкой, тогда и проблем с отображением не будет. А хостеры по умолчанию все поддерживают UTF кодировку, и большинство других, а если нет, то это левый хостер.
в ответ eleron 19.10.09 16:40
В ответ на:
C юникодом-то проблем не было , проблемы начались когда я захотел в win-1251 перевести.
C юникодом-то проблем не было , проблемы начались когда я захотел в win-1251 перевести.
А в чем кстати проблема, ну и оставил бы сайт на утф8.
А вообще, старый хостер, у которого стоял мой уже закрывшийся первый сайт, тоже была кодировка по умолчанию в iso-8859-1, но при этом проблем с windows-1251 не наблюдал.
В ответ на:
Сайт был спланирован и сверстан в utf-8,
Сайт был спланирован и сверстан в utf-8,
Может ты просто переведя сайт на windows-1251 забыл сам файл переконвертировать из UTF в ANSI?
Моё личное мнение, нужно забывать про старые кодировки, и работать с универсальной UTF кодировкой, тогда и проблем с отображением не будет. А хостеры по умолчанию все поддерживают UTF кодировку, и большинство других, а если нет, то это левый хостер.
NEW 22.10.09 22:18
есть 7 дней бесплатного теста, вот сцылка: http://alfahosting.de/webhosting_kostenlos_testen/webspace_gratis.html
да, надо будет поковырять
дело в том, что у мя лично проблем с отображением сайта в юникоде не было.
када я сайт опубликовал, как водица, похвастался друзьям и т.п., они сообщили, что при первом посещении вместо букав - символы, вот и заморочился я перевести в русскую кодировку, а на серваке по умолчанию стоит западно-европейская, с моей русской приходилось при каждом переходе на каждую страницу вкл. рус. кодировку.
решения я пока не нашел, на вопрос - забил, снова вернул фсё в юникод.
Всеже, всем спасибо за отклики и желание помочь!!!


В ответ на:
Бесплатного я не увидел.
Бесплатного я не увидел.
есть 7 дней бесплатного теста, вот сцылка: http://alfahosting.de/webhosting_kostenlos_testen/webspace_gratis.html
В ответ на:
настрой свой домашний сервер на выдачу всех ошибок
настрой свой домашний сервер на выдачу всех ошибок
В ответ на:
забыл сам файл переконвертировать из UTF в ANSI?
забыл сам файл переконвертировать из UTF в ANSI?
да, надо будет поковырять
В ответ на:
нужно забывать про старые кодировки, и работать с универсальной UTF кодировкой
нужно забывать про старые кодировки, и работать с универсальной UTF кодировкой
дело в том, что у мя лично проблем с отображением сайта в юникоде не было.
када я сайт опубликовал, как водица, похвастался друзьям и т.п., они сообщили, что при первом посещении вместо букав - символы, вот и заморочился я перевести в русскую кодировку, а на серваке по умолчанию стоит западно-европейская, с моей русской приходилось при каждом переходе на каждую страницу вкл. рус. кодировку.
решения я пока не нашел, на вопрос - забил, снова вернул фсё в юникод.
Всеже, всем спасибо за отклики и желание помочь!!!



Никогда не мотай на ус то, что тебе вешают на уши... Те, кто говорит, что так не бывает, пусть не мешают тем, кто так делает.