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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проблема с кодировкой

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: не помогает ни один способ
Slavenin
Отправлено: 29 Ноября, 2010 - 12:14:04
Post Id



Посетитель


Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010  
Откуда: Тверь


Помог: 4 раз(а)




Всем доброго времени суток.
Проблема: кракозябры или знакои вопросов на странице

Как пробовал решать:
1. Установил у всех полей таблиц кодировку utf8_general_ci
2. Установил у всех таблиц параметр collation(сравение) в кодировку utf8_general_ci
3. В заголовках всех страниц передается
PHP:
скопировать код в буфер обмена
  1.  header('Content-Type: text/html; charset=utf-8');

4. В заголовке страницы вывода прописано
CODE (html):
скопировать код в буфер обмена
  1. <meta http-equiv=\"content-type\" content=\"text/html; utf-8\">

5. При соединении с БД вызывается функция
6. В файле .htaccess прописана дирректива AddDefaultCharset utf-8

и все-равно на странице вывода кракозябры. Что еще сделать я не понимаю. Может есть еще какие-то варианты?
PS пробовал перекодировать все поля и таблицы в cp1251_general_ci и во всех заголовках прописать эту кодировку, результат не поменялся Огорчение

(Отредактировано автором: 29 Ноября, 2010 - 12:16:22)

 
 Top
DeepVarvar Супермодератор
Отправлено: 29 Ноября, 2010 - 12:27:43
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




1. Сами файлы скриптов в какой кодировке?
2. В базе ENGINE = MYISAM ???
 
 Top
Slavenin
Отправлено: 29 Ноября, 2010 - 12:44:03
Post Id



Посетитель


Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010  
Откуда: Тверь


Помог: 4 раз(а)




Цитата:
1. Сами файлы скриптов в какой кодировке?


utf-8
DeepVarvar пишет:
2. В базе ENGINE = MYISAM ???


да, именно так

(Отредактировано автором: 29 Ноября, 2010 - 12:45:02)

 
 Top
vlom
Отправлено: 29 Ноября, 2010 - 12:47:24
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 681
Дата рег-ции: Окт. 2010  
Откуда: Екатеринбург


Помог: 4 раз(а)




Есть ещё вариант, бала подобная проблема.
Попробуйте открыть ваши php скрипты notepad++ и там выполните команду
Меню->Кодировки->Преобразовать в UTF-8 без BOM


Ещё вопрос к вам, какая версия MySQL? так как данная функция (mysql_set_charset('utf-8', $conn);) работает с MySQL 5.0.7 или выше,
если же у вас версия ниже указанной то попробуйте использовать
 
 Top
DeepVarvar Супермодератор
Отправлено: 29 Ноября, 2010 - 12:50:59
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




vlom пишет:
mysql_query('SET NAMES utf8')
+1!!! Я вот не заострил внимание на этом, хотя вариант Slavenin и показался странным.
 
 Top
Phantik
Отправлено: 29 Ноября, 2010 - 13:15:48
Post Id


Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Июнь 2009  


Помог: 0 раз(а)




Есть еще такой вариант. Сталкивался с ним лично на хостинге Мажордомо (может быть такая фиговина есть и на каких-то других хостингах). У них зачем-то(до сих пор не понял зачем) в панели управления, есть раздел, который привязывает к каждому домену свою кодировку.

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

Т.е. например если все сделано правильно, страницы сохранены в utf, utf - заголовки посылаютс браузеру, при работе с БД кодировка задается правильно. Но при этом в панели управления хостингом указана кодировка windows-1251 то на выходе будут "иероглифы"

(Отредактировано автором: 29 Ноября, 2010 - 13:17:24)

 
 Top
Slavenin
Отправлено: 29 Ноября, 2010 - 15:03:53
Post Id



Посетитель


Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010  
Откуда: Тверь


Помог: 4 раз(а)




вот блин!!! послушался совета отсюда: http://www.phpfaq[dot]ru/charset поэтому и использовал mysql_set_charset('utf-8', $conn); заменил на mysql_query('SET NAMES utf8') и все заработало... всем спасибо! жаль нету кнопки сказать спасибо
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB