Создавал сайт локально под виндой на IIS, все в utf-8. Переношу на хостинг сайт и слетает кодировка, авто выбор ставит кодировку windows-1251. В файле .htaccess есть строка AddDefaultCharset UTF-8, но это все-равно не помогает. Что нужно сделать, чтобы автоматически определялась кодировка как utf-8, а не windows-1251?
Вот ответ phpinfo:
- Apache Environment
- CHARSET windows-1251
- HTTP_ACCEPT_CHARSET windows-1251,utf-8;q=0.7,*;q=0.3
- SOURCE_CHARSET windows-1251
- HTTP Headers Information
- HTTP Request Headers
- Accept-Charset windows-1251,utf-8;q=0.7,*;q=0.3
- HTTP Response Headers
- Content-Type text/html; charset=windows-1251
- HTTP Request Headers
- PHP Variables
- _SERVER["CHARSET"] windows-1251
- _SERVER["HTTP_ACCEPT_CHARSET"] windows-1251,utf-8;q=0.7,*;q=0.3
- _SERVER["SOURCE_CHARSET"] windows-1251
Комментарии
В template.php добавил:
$vars['head'] = str_replace(
'<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />',
'<meta charset="utf-8" />',
$vars['head']
);
}
На выходе получаем:
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru" dir="ltr">
<head>
<title>Сайт на обслуживании | Компания</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Что я делаю не так?
1. Пинать хостера, ибо хостер - мудак.
2. Указать кодировку самому:
<?php
header("Content-Type: text/html; charset=utf-8");
?>
Спасибо, буду писать хостеру, так как пункт 2 тоже не помог.
а сами файлы в какой кодировке?utf-8 без BOM?
хостера тоже скажите..
С файлами все ок, проблема решена через хостера, т.е. проблема была не в друпале 100%. Хостер Vega (Украина).
Мне помогло, спасибо!