[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Кодировка ЗЛО!
Tokugava
Учу пхп по урокам Twin'а возникла проблема с кодировкой.
Сначала отображались "краказябры", проблему решил... подсказали на форуме переписать файлы скрипта в кодировке UTF-8 сказано сделано...

Появилась иная проблема...
1.Скрипты пишу в утфе-8. Тоесть кодировка текстовых документов... ну тут понятно.
Везьде (апсолютно во всех файлах) Вот такая строка первой прописана
header("Content-Type: text/html; charset=utf-8");


файлик .htaccess тоже в утфе и имеет вот такое содержание:

AddDefaultCharset UTF-8
php_flag magic_quotes_gpc Off
php_flag magic_quotes_runtime Off
php_flag register_globals Off
ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
Options -Indexes


Когда он на сервере в корневой дирректории сайта сервер выдает 500 ошибку.
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request... бла бла бла...=(

Когда удаляю сайт открывается но там знаки вопроса.
Помогите что я не так делаю. unsure.gif



Спустя 4 минуты, 34 секунды (19.08.2010 - 10:49) linker написал(а):
Упс, ваш PHP не установлен как модуль Apache, а потому нельзя в .htaccess использовать php_flag.

Спустя 44 секунды (19.08.2010 - 10:49) Tokugava написал(а):
М... это проблема хостера?

Спустя 1 минута, 54 секунды (19.08.2010 - 10:51) linker написал(а):
Да.

Спустя 1 минута, 13 секунд (19.08.2010 - 10:52) Tokugava написал(а):
Чтож мне теперь делать sad.gif
Все скрипты в анси перекодировать?
Или как то универсальную все же можно поставить?

Спустя 5 минут, 25 секунд (19.08.2010 - 10:58) linker написал(а):
Желательно в каком-то конфиге через ini_set();

Спустя 8 минут, 27 секунд (19.08.2010 - 11:06) Tokugava написал(а):
ini_set ('exif.encode_unicode', 'UTF-8');

Вот так? Я просто еще не знаю эту штуку ini_set(); я до нее не добрался и не представляю как она работает.

У мну есть файл config.php в нем хранятсо все функции и глобальные переменные со всего сайта, можно в нем прописать...
Только я не знаю как sad.gif

Спустя 8 минут, 21 секунда (19.08.2010 - 11:15) twin написал(а):
Нужно сначала уточнить это...
500-й может ответить, если .htaccess сохранен с BOM.

Убери все строки из него, кроме этой
AddDefaultCharset UTF-8

и посмотри, что будет.

Спустя 4 минуты, 18 секунд (19.08.2010 - 11:19) Guest написал(а):
Сохранил его в кодировке (без BOM).
Ошибка пропала оО
Спасибо за помощ

Спустя 16 минут, 3 секунды (19.08.2010 - 11:35) Tokugava написал(а):
Почему то страница отображается со знаками вопроса...

Файл .htaccess в утфе 8
Все скрипты в утфе 8
хтмль странички тоже...

везьде строчка прописана
header("Content-Type: text/html; charset=utf-8");


... в каждом файле...

В мозиле автокодировка стоит.... все равно ???????????????????? почему то sad.gif

Спустя 19 минут, 42 секунды (19.08.2010 - 11:55) twin написал(а):
А данные не из базы?
Если нет, нужно еще раз внимательно пробежаться по файлам. Гдето несоответствие кодировок.
Если из базы, нужно установить кодировку соединения

Спустя 3 минуты, 46 секунд (19.08.2010 - 11:59) Tokugava написал(а):
Данные из базы приходили... решил проблему прописав в конфиге коннекта вот такую лабуду:
mysqlQuery ("SET NAMES utf8");
mysqlQuery ("set character_set_client='utf8'");
mysqlQuery ("set character_set_results='utf8'");
mysqlQuery ("set collation_connection='utf8_general_ci'");

Пока все в норме... посмотрим как дальше себя поведет=)

Спустя 25 минут, 6 секунд (19.08.2010 - 12:24) linker написал(а):
twin
Вот уж чего-чего, а это не позволит узнать в чем причина. Добавь php_flag magic_quotes_gpc Off и сохрани. Уверен на все 100% что ошибка вернется.

Спустя 6 минут, 48 секунд (19.08.2010 - 12:30) twin написал(а):
Так а я зачем предложил убрать все? Если PHP стоит как CGI, то флаги вызывают 500. А если 500 вылезет без флагов, значит дело в самом .htaccess, что и оказалось.

Спустя 8 минут, 27 секунд (19.08.2010 - 12:39) linker написал(а):
Просто ты про BOM упомянул.

Спустя 2 минуты, 46 секунд (19.08.2010 - 12:42) twin написал(а):
Ну правильно. Это и нужно было выяснить сначала. Если он сохранен с BOM, то 500 будет в любом случае. И ini_set() тут не помошник, хоть как стоит PHP.

Спустя 1 час, 41 минута, 8 секунд (19.08.2010 - 14:23) linker написал(а):
smile.gif Нет, неправильно
Цитата
Убери все строки из него, кроме этой
AddDefaultCharset UTF-8

Ошибки не будет, даже если проблема в BOM. А вот если сделать так
AddDefaultCharset UTF-8
php_flag magic_quotes_gpc Off
то будет понятно, BOM это или PHP.

Спустя 1 час, 4 минуты, 58 секунд (19.08.2010 - 15:28) twin написал(а):
Цитата
Ошибки не будет, даже если проблема в BOM.

Будет будет))) Попробуй.
А вот так
Цитата
AddDefaultCharset UTF-8
php_flag magic_quotes_gpc Off

непонятно. Точно так же непонятно, из-за флага эта ошибка, или из-за ошибки синтаксиса:
Цитата
AddDefaultCharset UTF-8
php_flag magic_quotes_gpcOff

Ошибка в обоих случаях одинаковая - 500. Сначала нужно исправить синтаксис, потом смотреть на метод установки.
А BOM воспринимается серваком, как 3 байта, которые к синтаксису .htaccess отношения не имеют.
А по сему, сначала нужно убедиться в чистоте файла, потом мудрить с ini_set(), если потребуется. smile.gif


_____________
人類の敵
Чем умнее человек, тем легче он признает себя дураком!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.