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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: нужна помощь
mark2009
Отправлено: 05 Октября, 2009 - 17:42:42
Post Id


Новичок


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


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




Пишу свой форум. Всё в utf-8. У меня на компе всё работает как надо - сейчас закинул на сервер... в общем косячную страницу можно посмотреть здесь.

Теряюсь в догадках, где что ещё надо конвертнуть в utf-8... но уже точно что косяк идёт именно при добавлении сообщений...

Для информации:
Следующие функции:


  • mb_internal_encoding()
  • iconv()
  • iconv_set_encoding()

не помогли Недовольство, огорчение

Выручайте, люди добрые Улыбка
 
 Top
-=1100=-
Отправлено: 05 Октября, 2009 - 18:27:18
Post Id



Частый гость


Покинул форум
Сообщений всего: 156
Дата рег-ции: Май 2007  
Откуда: Город Святого Петра


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

[+]


А сообщения в базу записываются нормально?


-----
INSPIRON |6400
 
 Top
mark2009
Отправлено: 05 Октября, 2009 - 18:28:32
Post Id


Новичок


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


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




В том то и дело что нет! косяк как раз при записи идёт Недовольство, огорчение
И в базе вот такая хрень. Т.е. это не только при выводе, это в базу в таком виде поступает. Хотя всё на свете уже в utf8...

(Отредактировано автором: 05 Октября, 2009 - 18:29:16)

 
 Top
-=1100=-
Отправлено: 05 Октября, 2009 - 18:42:09
Post Id



Частый гость


Покинул форум
Сообщений всего: 156
Дата рег-ции: Май 2007  
Откуда: Город Святого Петра


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

[+]


На той странице, где скрипт записывает сообщения в базу.

Если сделать так

Пример:
$msg=$_POST['msg'];

echo($msg); // выводим то что запишем базу

mysql_query(....... $msg ....); // Записываем в базу

Что бы узнать где он ломает шрифты.

Если $msg (сообщение) отобразит нормально, то попробуй кодировку поменять в базе.


-----
INSPIRON |6400
 
 Top
mark2009
Отправлено: 05 Октября, 2009 - 18:45:46
Post Id


Новичок


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


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




Всё нормально отобразил.
Меня другое интересует. У меня на компьютере ЭТО работает.
А на сервере нет... так в чём проблема?...
(Добавление)
Поменял у себя общую кодировку базы на cp1251 - ничего не поменялось, как надо так и работает...
 
 Top
-=1100=-
Отправлено: 05 Октября, 2009 - 18:52:53
Post Id



Частый гость


Покинул форум
Сообщений всего: 156
Дата рег-ции: Май 2007  
Откуда: Город Святого Петра


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

[+]


Может у тебя дома он пишет в utf8_unicode_ci.
А на сервере в cp1251_general_ci ?


-----
INSPIRON |6400
 
 Top
mark2009
Отправлено: 05 Октября, 2009 - 18:58:53
Post Id


Новичок


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


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




Вот характеристики сервера:

* Сервер: Localhost via UNIX socket
* Версия сервера: 5.0.51a-24+lenny2-log
* Версия протокола: 10
* Пользователь: не важно@localhost
* MySQL-кодировка: UTF-8 Unicode (utf8)
* Apache/2.2.9 (Debian) mod_wsgi/2.5 Python/2.5.2 mod_perl/2.0.4 Perl/v5.10.0
* Версия MySQL-клиента: 5.0.51a
* PHP расширение: mysql

Вот характеристики локального сервера:
* Сервер: MySQL host info: localhost via TCP/IP
* Версия сервера: 5.1.34-community
* Версия протокола: 10
* Пользователь: без_разницы@localhost
* MySQL-кодировка: UTF-8 Unicode (utf8)
* Apache/2.2.13 (Win32) mod_ssl/2.2.13 OpenSSL/0.9.8k PHP/5.3.0
* Версия MySQL-клиента: mysqlnd 5.0.5-dev - 081106 - $Revision: 1.3.2.27 $
* PHP расширение: mysql

Где зарыта собака? Недовольство, огорчение
 
 Top
koras
Отправлено: 05 Октября, 2009 - 19:07:02
Post Id



Частый гость


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


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




Я раньше делал в cp1251, а потом когда начал работать с mysql, то все скрипты начал писать utf-8(без boom).

Вопрос к ТС не по теме, как вы спланировали базу под форум.
Тоже, подумываю скоро писать, но боюсь напороться на косяки при планировании и написании ТЗ для себя



Попробуйте прописать в .htaccess


А после конекта к бузе данных прописать

PHP:
скопировать код в буфер обмена
  1. mysql_query("SET character_set_database = utf8");
  2. mysql_query("SET NAMES utf8");

(Отредактировано автором: 05 Октября, 2009 - 19:12:14)

 
 Top
-=1100=-
Отправлено: 05 Октября, 2009 - 19:10:59
Post Id



Частый гость


Покинул форум
Сообщений всего: 156
Дата рег-ции: Май 2007  
Откуда: Город Святого Петра


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

[+]


Не, Выбери из баз данный ту базу где у тебя хранятся сообщения, затем таблица где у тебя сообщения.

нажми "Структура"

Там что то вроде

"Таблица" "Действие" "Записи" "Тип" "Сравнение" "Размер" "Фрагментировано"

Что у тебя пишется в столбце "Сравнение"

Посмотри на сервере и на домашнем компе.


-----
INSPIRON |6400
 
 Top
mark2009
Отправлено: 05 Октября, 2009 - 19:53:32
Post Id


Новичок


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


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




-=1100=-
utf8_general_ci
 
 Top
-=1100=-
Отправлено: 05 Октября, 2009 - 20:00:16
Post Id



Частый гость


Покинул форум
Сообщений всего: 156
Дата рег-ции: Май 2007  
Откуда: Город Святого Петра


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

[+]


mark2009 пишет:
-=1100=-
utf8_general_ci


Это на сервере или на дома?


-----
INSPIRON |6400
 
 Top
mark2009
Отправлено: 05 Октября, 2009 - 20:01:11
Post Id


Новичок


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


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




-=1100=- пишет:
Это на сервере или на дома?

Это на сервере... и дома Улыбка
(Добавление)
Сейчас переделал сравнение на utf8_unicode_ci - проблема осталась.

koras
Стукните в личку поподробнее с вопросом о базе - отвечу.
(Добавление)
Люди, не решена проблема Недовольство, огорчение
 
 Top
koras
Отправлено: 06 Октября, 2009 - 00:48:24
Post Id



Частый гость


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


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




На сервере ессть права создание базы ??

Если есть то создайте её через sql или с консоли с кодировкой utf8
Переименовав поля, таблицы будут в старой кодировке как и базы.
В чем вы базу просматриваете? Там кракозябры или знаки вопроса ?


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

прописан ?

(Отредактировано автором: 06 Октября, 2009 - 00:49:34)

 
 Top
mark2009
Отправлено: 06 Октября, 2009 - 08:07:43
Post Id


Новичок


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


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




Всё прописано.
Короче, проблема сузилась.

Не отображаются ТОЛЬКО русские буквы.
АНГЛИЙСКИЕ буквы и все остальные знаки прекрасно отображаются. Возможно проблема в mbstring или хрен его знает как это называется Улыбка))))

В общем как utf8 кодирует русский алфавит?

Вот, для примера

(Отредактировано автором: 06 Октября, 2009 - 08:10:25)

 
 Top
koras
Отправлено: 06 Октября, 2009 - 09:10:36
Post Id



Частый гость


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


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




mark2009 пишет:
Вот, для примера

Цитата:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [no address given] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.



А браузером играли.
Вид> кодировка>...

В браузере пишет какую кодировку у вас и в каком месте
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB