Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MySQL и кирилица, не виводится кирилица в броузер 
V
    Опции темы
Arahnoid
Дата 27.11.2006, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 4.10.2006

Репутация: нет
Всего: нет



Слуилось так что после долгих усилий по установке Apache MySQL & PHP я здался и начял искать програмные пакеты которые все это бы зделали за меня (чтото вроде денвера)
И вот нашел такую штуку с сайта http://rus-phpnuke.com/modules.php?name=Fi...=cat&cid=25

AppServ 2.5.3 
PHP 5.0.3 
Apache 2.0.52 
MySQL 4.1.8 
Zend Optimizer 2.5.7 
phpMyAdmin 2.6.1-rc2

Download: http://prdownloads.sourceforge.net/appserv....3.exe?download


вроде все новенькое и проблем не должно быть но вот я в базе данных создал таблиу ну оч простую с пословицами, 3 колонки ID, Proverb, Translate_proverb. так вот в последней колонку находятся переводы латинских пословиц набраные кирилицей . так вот и проблема латыница в броузер выводится нормально а вместо кирилицы выводится чтото вроде " ?????????????????????" в чем причина такого поведения MySQL?
PM MAIL   Вверх
Arahnoid
Дата 27.11.2006, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 4.10.2006

Репутация: нет
Всего: нет



вот и нашел разгадку но чтото не оч она мне нравится smile 
http://phpclub.ru/faq/Mysql41Rus
PM MAIL   Вверх
DENNN
Дата 27.11.2006, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 2
Всего: 43



Код

SET NAMES cp1251;

вполне хорошее решение. Лучше не будет, т.к. на сервер может лежать несколько баз с несколькими кодировками и запускать сервер с русской кодировкой по умолчанию не всегда возможно.
PM ICQ   Вверх
Arahnoid
Дата 27.11.2006, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 4.10.2006

Репутация: нет
Всего: нет



DENNN,  возможно может это мне еще выйдет боком ноя решыл эту проблему так
сначала у меня код для сединения с БД выгдядел так:
Код

$conect = mysql_connect("localhost", "root", "pass")
    or die ("Could not connect to MySQL");


оказывается ели не конектится с БД как пользователь root то то можно избежать этой проблемы, и я переписал код так: smile 

Код

$conect = mysql_connect("localhost", "user", "")
    or die ("Could not connect to MySQL");


Это сообщение отредактировал(а) Arahnoid - 27.11.2006, 22:48
PM MAIL   Вверх
DENNN
Дата 28.11.2006, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 2
Всего: 43



Очень странно. Возможно для каждого пользователя задан свой my.cnf.
Однако в перспективе это проблему не решает: смена хостинга или апгрейд софта на самом хостинге вернут тебе прежнюю проблему в самый неподходящий момент.
Если хочешь делать хорошо - делай правильно. SET NAMES после поднятия коннекта - вполне "правильный" способ, если не брать во внимания версии 3.XX

Добавлено @ 10:32 
P.S. почитай на досуне про кодировке. В принципе проблема более глубокая. Есть понятия кодировки для: текущей базы данных, сервера, соеднинения, клиента, выдачи результата и принятия данных от клиента в базу. При правильно заданных значениях перекодировку сервер выполняет на лету.
PM ICQ   Вверх
Arahnoid
Дата 28.11.2006, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 4.10.2006

Репутация: нет
Всего: нет



DENNN вполне вероятно, деиствительно прийдеся сесть за книжку
благодарю за совет smile 
PM MAIL   Вверх
DENNN
Дата 28.11.2006, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 2
Всего: 43



Arahnoid, 
желаю удачи smile
Вот тебе для размышлений на досуге живой пример  хостинга, работающего под нагрузкой

Код

show variables like '%char%';

Код

mysql> show variables like '%char%';
+--------------------------+--------------------------------------------------------------------------+
| Variable_name            | Value                                                                    |
+--------------------------+--------------------------------------------------------------------------+
| character_set_client     | latin1                                                                   |
| character_set_connection | latin1                                                                   |
| character_set_database   | cp1251                                                                   |
| character_set_results    | latin1                                                                   |
| character_set_server     | latin1                                                                   |
| character_set_system     | utf8                                                                     |




Код

mysql> set names cp1251;

Код

mysql> set names cp1251;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like '%char%';
+--------------------------+--------------------------------------------------------------------------+
| Variable_name            | Value                                                                    |
+--------------------------+--------------------------------------------------------------------------+
| character_set_client     | cp1251                                                                   |
| character_set_connection | cp1251                                                                   |
| character_set_database   | cp1251                                                                   |
| character_set_results    | cp1251                                                                   |
| character_set_server     | latin1                                                                   |
| character_set_system     | utf8                                                                     |



причем, параллельно висит еще несколько баз для этого же сайта. Одна из них в utf-8. Эта база в cp1251 и страницы под нее тоже. Все работает как швейцарские часы.

Это сообщение отредактировал(а) DENNN - 28.11.2006, 10:53
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0469 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.