Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > проблема с кодеровками


Автор: Kofgarter 29.1.2009, 00:14
Господа, у меня такая проблема:
когда дома я загружаю сайт с локального сервера, он правильно отображается (в кодировке Win-1251).
когда я заливаю его на сервер хостинга, и загружаю его от туда... то в браузере отображаются краказябры (UTF-8), и постоянно приходится менять кодировку на Win-1251.

В чем проблема? (чувствую, что загвоздка в импортировании базы данных сайта, - если да, то как тогда правильно импортировать)

зы: анекдот в тему))
приходит как-то раз программер к окулисту. 
Тот его усаживает напротив таблицы, берет указку:
- Читайте!
- "БНОПНЯ"... Доктор, у вас что-то не то с кодировкой!

Автор: bars80080 29.1.2009, 00:26
во-первых, что за кракозябры? вопросики или характерные символы?
установлено ли сразу после коннекта в БД mysql_query('set names cp1251'); ?
во-вторых, приходится менять кодировку? скорее всего с базой всё в порядке. тогда покажите начало страницы, что открывается в браузере
в-третьих, отдаёте ли заголовок с кодировкой перед тем как отдать первые куски хтмл-разметки? 
Код

header('Content-Type: text/html; charset=cp1251');

Автор: SneG0K 29.1.2009, 00:27
Код

mysql_query("SET NAMES cp1251");

Попробуй так делать перед началом импорта из бд

Автор: Kofgarter 29.1.2009, 00:54
to bars80080: 
1. вопросики
2. таблицы в базе данных сохраняю CREATE TABLE sometable` () DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
3. mysql_query('set names cp1251'); - не писал
4. 
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<head>
<title>RGB connection</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

5. в-третьих, отдаёте ли заголовок с кодировкой перед тем как отдать первые куски хтмл-разметки? - не ясен вопрос(
--------------------------------------------------------------------------------------------------------------
to SneG0K:
сейчас попробую;-)
--------------------------------------------------------------------------------------------------------------
дело скорее всего в импортировании базы, так как я кучу раз пересоздавал на локальном MySQL - все хорошо, записываю на хостинг, сайт отображается вопросиками. Код сайта - и там и там одинаков.

Автор: bars80080 29.1.2009, 01:02
хм, зачем вы сохраняете данные в БД в кодировке utf-8, если сайт на cp1251?

Автор: Kofgarter 29.1.2009, 01:10
нет сайт под utf-8! Дело в том что дома я записываю базу, загружаю сайт в браузере и все хорошо. Смотрю кодировки - показывает Win-1251.
Дальше загружаю тоже самое на сервак и вижу вопросики((

--------------------------------------------------------------------------------------------------------------
дело скорее всего в импортировании базы, так как я кучу раз пересоздавал на локальном MySQL - все хорошо, записываю на хостинг, сайт отображается вопросиками. Код сайта - и там и там одинаков.

Автор: SneG0K 29.1.2009, 01:31
Цитата(Kofgarter @  29.1.2009,  00:10 Найти цитируемый пост)
Код сайта - и там и там одинаков.

От кода тут ничего не зависит.

Вы определитесь, в какой кодировке будете хранить данные. Если это utf8 то тогда
Код

mysql_query('set names utf8')

Код

:
    
header('Content-Type: text/html; charset=utf8');

Автор: Kofgarter 29.1.2009, 02:01
... уже разобрался  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)