Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Знаки вопроса вместо кириллицы в MySQL 4 (encyclop, оценка: 2)
На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
Гость






Карма: 367
   поощрить/наказать


СообщениеДобавлено: Чт Сен 29, 2005 2:59 pm (написано за 1 минуту 1 секунду)
   Заголовок сообщения:
Ответить с цитатой

Константин Жинько [tIT]
И че теперь мне делать? Всю смс переписывать? У меня нет файла my.cnf! Куда он мог исчезнуть?
Вернуться к началу
Maus
Модератор



Зарегистрирован: 29.06.2003
Сообщ.: 7410
Карма: 242
   поощрить/наказать

Откуда: пос. Омсукчан Магаданской области

СообщениеДобавлено: Чт Сен 29, 2005 3:58 pm (спустя 59 минут; написано за 28 секунд)
   Заголовок сообщения:
Ответить с цитатой

Гость
хоть какие-нибудь файлы в каталоге usr\local\mysql4 есть?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Гость






Карма: 367
   поощрить/наказать


СообщениеДобавлено: Чт Сен 29, 2005 6:02 pm (спустя 2 часа 3 минуты; написано за 1 минуту)
   Заголовок сообщения:
Ответить с цитатой

Да, ашлося все. Но с кодировкой все равно проблема. У кого-нибудь это нормально работает без изменения запроса в пхп?
Вернуться к началу
Димитрий_
Гость





Карма: 367
   поощрить/наказать


СообщениеДобавлено: Чт Сен 29, 2005 6:16 pm (спустя 14 минут; написано за 2 минуты 12 секунд)
   Заголовок сообщения:
Ответить с цитатой

Итак.... сообщаю всем. После удаления с моего компа трояна, который, видимо, удалил конфигурационный файл с моего компа, после переустановки базового пакета и внесения изменеий по последнему варианту все заработало нормально и без крякозябров:
# +-------------------------------------------------------------------------+
# | Джентльменский набор Web-разработчика |
# | Версия: Денвер-2 2005-07-19 |
# +-------------------------------------------------------------------------+
# | Copyright (C) 2001-2004 Дмитрий Кóтеров. |
# +-------------------------------------------------------------------------+
# | Данный файл является частью комплекса программ "Денвер-2". Вы не можете |
# | использовать его в коммерческих целях. Никакие другие ограничения не |
# | накладываются. Если вы хотите внести изменения в исходный код, авторы |
# | будут рады получить от вас комментарии и замечания. Приятной работы! |
# +-------------------------------------------------------------------------+
# | Домашняя страница: http://denwer.ru |
# | Контакты: Денвер (denwer.ru) |
# +-------------------------------------------------------------------------+
##
## Конфигурация MySQL, не очень требовательная к системным ресурсам.
##

#
# Следующие параметры будут переданы всем клиентским программам
# (например, mysql.exe). ВНИМАНИЕ: если не сработает, укажите
# путь к my.cnf ЯВНО, например:
#
# mysql.exe --defaults-file=/usr/local/mysql4/my.cnf ...
#
[client]
port = 3306
socket = /tmp/mysql.sock
default-character-set = cp1251
character-sets-dir = /usr/local/mysql4/share/charsets
character-set-client=cp1251
character-set-connection=cp1251
collation-connection=cp1251
character-set-client=cp1251
character-set-connection=cp1251
character-set-results=cp1251
collation-database=cp1251
character-set-database=cp1251
collation-server=cp1251

#
# Параметры MySQL-сервера.
#
[mysqld]
# Использовать режим совместимости с клиентами MySQL 3.x и MySQL 4.0.
old-passwords

# Кодировка баз данных по умолчанию.
default-character-set = cp1251
init-connect="SET CHARSET cp1251"
init-connect="SET NAMES cp1251"
character-set-server=cp1251

# Временная директория.
tmpdir = /tmp

#
# Обработывать запросы ТОЛЬКО с локальной машины (повышает безопасность).
# Если вы хотите, чтобы MySQL-сервер был доступен из сети,
# уберите следующую ниже директиву.
#
bind-address = 127.0.0.1

# Порт сервера.
port = 3306

lower-case-table-names = 2

# Различные настройки, оптимизированные для небольшого объема памяти.
key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64K
skip-locking

#
# Если у вас мало памяти, раскомментируйте следующие строки.
# Это отключит InnoDB или BerkeleyDB, но зато уменьшит требования
# к памяти (в большинстве случаев InnoDB/BDB и так не используются).
#
skip-innodb
#skip-bdb

#
# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (using the "enable-named-pipe" option) will render mysqld useless!
#
#skip-networking
#enable-named-pipe
#socket = /tmp/mysql.sock

# Server ID.
server-id = 1

# Uncomment the following if you want to log updates
#log-bin

#
# Раскомментируйте следующие строки, если вы хотите изменить
# настройки InnoDB по умолчанию.
#
#innodb_data_home_dir = /usr/local/mysql4/var/
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /usr/local/mysql4/var/
#innodb_log_arch_dir = /usr/local/mysql4/var/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit=1
#innodb_lock_wait_timeout = 50


[mysqldump]
quick
max_allowed_packet = 16M


[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates


[isamchk]
key_buffer = 8M
sort_buffer_size = 8M


[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M


[mysqlhotcopy]
interactive-timeout
Вернуться к началу
Константин Жинько [tIT]
Сотрудник «Лаборатории»



Зарегистрирован: 12.06.2004
Сообщ.: 2265
Карма: 111
   поощрить/наказать

Откуда: Москва

СообщениеДобавлено: Пт Сен 30, 2005 9:59 am (спустя 15 часов 42 минуты; написано за 25 секунд)
   Заголовок сообщения:
Ответить с цитатой

Димитрий_

М

Зарегистрировались бы (-;
Вернуться к началу
Посмотреть профиль Отправить личное сообщение ICQ Number
Maus
Модератор



Зарегистрирован: 29.06.2003
Сообщ.: 7410
Карма: 242
   поощрить/наказать

Откуда: пос. Омсукчан Магаданской области

СообщениеДобавлено: Пт Сен 30, 2005 11:08 am (спустя 1 час 9 минут; написано за 1 минуту 10 секунд)
   Заголовок сообщения:
Ответить с цитатой

Димитрий_ писал(а):
После удаления с моего компа трояна
Хочется отметить: поскольку трояны не входят в стандартный дистрибутив Денвера (как и, насколько известно, в официальные пакеты расширений) - проблема опять-таки была не в Денвере.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
DeYura
Участник форума



Зарегистрирован: 14.11.2004
Сообщ.: 28
Карма: 0
   поощрить/наказать

Откуда: Киев

СообщениеДобавлено: Пн Окт 03, 2005 3:34 pm (спустя 3 дня 4 часа 26 минут; написано за 3 минуты 26 секунд)
   Заголовок сообщения:
Ответить с цитатой

Не хотел создавать новой темы, по-этому решил написать вопрос сюда.
В файле my.cnf написано:
Цитата:
character-sets-dir = /usr/local/mysql4/share/charsets
но почему mysqld-max.exe запускается с параметром:
Цитата:
--character-sets-dir = \usr\local\mysql4/share/charsets
Может быть из-за этих разных слешей и возникает ошибка:
Цитата:
File 'c:\mysql\share\charsets\?.conf' not found (Errcode: 2)
Character set '#51' is not a compiled character set and is not specified in the 'c:\mysql\share\charsets\Index' file
Разработчики подскажите плизз.!.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Дмитрий Кóтеров
Администратор



Зарегистрирован: 10.03.2003
Сообщ.: 13553
Карма: 405
   поощрить/наказать


СообщениеДобавлено: Пн Окт 03, 2005 9:45 pm (спустя 6 часов 10 минут; написано за 27 секунд)
   Заголовок сообщения:
Ответить с цитатой


М

От чего возникает эта ошибка, вы можете найти в поиске по форуму.
Не засоряйте, пожалуйста, оффтопиком данную тему.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Evgeniy21
Гость





Карма: 367
   поощрить/наказать


СообщениеДобавлено: Вс Окт 09, 2005 6:32 pm (спустя 5 дней 20 часов 46 минут)
   Заголовок сообщения: Знаки вопроса вместо кириллицы в MySQL 4
Ответить с цитатой

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

Весной этого года скачал DenWer с PHP5.0.2 и уехал на дачу. Эта версия работала нормально, проблем никаких.
Четыре дня (5 октября) назад приехал с дачи и первым делом скачал свежий DenWer с PHP5.0.4 . Установил себе на компьютер и обнаружилась проблема с кириллицей в запросах с MySQL.

Начал сравнивать. Обнаружилось что Apache и MySQL в этих версия DenWer-а одинаковы. А проблема только DenWer с PHP5.0.4.
Т.е. MySQL тут не причем. Попытался сделать что либо в конфигах. Никакого результата. Плюнул и скопировал папку php5 из DenWer с PHP5.0.2 и вставил ее в DenWer с PHP5.0.4 .
Проблема исчезла. Т.е. в DenWer-е глючит PHP5.0.4.

Зашел на этот форум пытаясь все таки выяснить эту проблему. Попробовал почти все рекомендации предложенные на форуме. Все варианты кроме предложенного "encyclop", не работали.
Теперь жду DenWer-а c PHP5.1.0. и продолжаю использовать DenWer-а c PHP5.0.2.
Вернуться к началу
SnakeMFK
Гость





Карма: 367
   поощрить/наказать


СообщениеДобавлено: Вс Окт 23, 2005 1:49 pm (спустя 13 дней 19 часов 17 минут; написано за 2 минуты 10 секунд)
   Заголовок сообщения:
Ответить с цитатой

после установки последнего пакета получил ту же проблему(вопросы вместо кириллицы) изменение my.conf, описанное выше не помогло... исправилось, добавлением:
Код (php): скопировать код в буфер обмена
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
все таки с настройкой и конфигом в последнем пакете не все ладно
Вернуться к началу
Maus
Модератор



Зарегистрирован: 29.06.2003
Сообщ.: 7410
Карма: 242
   поощрить/наказать

Откуда: пос. Омсукчан Магаданской области

СообщениеДобавлено: Пн Окт 24, 2005 11:14 am (спустя 21 час 25 минут; написано за 56 секунд)
   Заголовок сообщения:
Ответить с цитатой

SnakeMFK писал(а):
настройкой и конфигом в последнем пакете не все ладно
Насколько мне известно, с конфигурацией связки PHP5+MySQL не все ладно. С PHP4 проблем вроде бы нет
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
иым
Гость





Карма: 367
   поощрить/наказать


СообщениеДобавлено: Пн Окт 24, 2005 1:38 pm (спустя 2 часа 23 минуты; написано за 30 секунд)
   Заголовок сообщения: Знаки вопроса вместо кирилицы
Ответить с цитатой

Привет всем!

Поставил базовый пакет с PHP5 в виде модуля Apache и MySQL4...

Есть проблема... При работе через мои php-программы все кириллические символы MySQL как отдает знаками вопроса, так и принимает, транслируя в знаки вопроса...

Встроенный PHPMyAdmin при этом кириллицей работает нормально...
Вернуться к началу
Maus
Модератор



Зарегистрирован: 29.06.2003
Сообщ.: 7410
Карма: 242
   поощрить/наказать

Откуда: пос. Омсукчан Магаданской области

СообщениеДобавлено: Пн Окт 24, 2005 2:29 pm (спустя 51 минуту; написано за 40 секунд)
   Заголовок сообщения:
Ответить с цитатой

иым
Вы эту тему прочитали? с начала?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Кир
Заглянувший



Зарегистрирован: 26.10.2005
Сообщ.: 5
Карма: 0
   поощрить/наказать

Откуда: Москва

СообщениеДобавлено: Ср Окт 26, 2005 8:30 pm (спустя 2 дня 6 часов 24 секунды; написано за 5 минут 30 секунд)
   Заголовок сообщения: Re: Однако не помогает
Ответить с цитатой

Мыкв писал(а):
Был поставлен Base_PHP5_2005-07-19_a1.3.31_p5.0.4_m4.1.8_pma2.6.1.exe
И, естественно, наблюдалась большая проблема с кириллицей.
То что предложил Toxa (realbiker.ru) не помогло :(
Аналогичная проблема. Установил этот комплект, запускаю сайты - О, УЖАС!!! (см. файл)

Пытался разобраться, в чем дело. Оказалось, что если выводить русский текст на экран напрямую, указывая его в файлах .php - проблем нет, выводится нормально. Но если сделать выборку из базы данных и вывести результат, то мы получим ??????????????? ????? ????.

Значит проблема с кодировкой при получении данных из MySQL. Текущих установок в конфигурации не достаточно.
Код (php): скопировать код в буфер обмена
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
Это решение единственно-возможное?


php5.jpg
 Описание:
 Размер:  40,36 KB
 Просмотров:  585 раз(а)

php5.jpg
Щелкните, чтобы посмотреть полноразмерное изображение.



Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Дмитрий Бойков
Участник форума



Зарегистрирован: 28.03.2003
Сообщ.: 32
Карма: 2
   поощрить/наказать

Откуда: СПб

СообщениеДобавлено: Пн Ноя 07, 2005 11:02 am (спустя 11 дней 14 часов 32 минуты; написано за 42 секунды)
   Заголовок сообщения:
Ответить с цитатой

Судя по всему красивого решения пока не найдено. :( Буду откатываться...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора AIM Address ICQ Number
wkeeper
Гость





Карма: 367
   поощрить/наказать


СообщениеДобавлено: Пн Ноя 21, 2005 8:07 am (спустя 13 дней 21 час 4 минуты; написано за 43 секунды)
   Заголовок сообщения:
Ответить с цитатой

Я так понял, решения вообще еще не найдено, для некоторых людей. Что ж делать-то.
Вернуться к началу
wkeeper
Гость





Карма: 367
   поощрить/наказать


СообщениеДобавлено: Пн Ноя 21, 2005 9:43 am (спустя 1 час 35 минут; написано за 25 секунд)
   Заголовок сообщения:
Ответить с цитатой

Обновил mySQL до 5.015 все равно глухо
Вернуться к началу
Дмитрий Кóтеров
Администратор



Зарегистрирован: 10.03.2003
Сообщ.: 13553
Карма: 405
   поощрить/наказать


СообщениеДобавлено: Пн Ноя 21, 2005 11:25 am (спустя 1 час 42 минуты; написано за 16 секунд)
   Заголовок сообщения:
Ответить с цитатой

wkeeper писал(а):
Я так понял, решения вообще еще не найдено, для некоторых людей.
Решения "чего" не найдено? Уточните.
Как правильно задавать вопросы: статья, обязательная к прочтению
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
wkeeper
Гость





Карма: 367
   поощрить/наказать


СообщениеДобавлено: Пн Ноя 21, 2005 10:21 pm (спустя 10 часов 55 минут; написано за 3 минуты 51 секунду)
   Заголовок сообщения:
Ответить с цитатой

Я к тому, что у меня найденное "решение проблемы" не работает.
1. Прописывал
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
2. Прописывал кодировки для всех возможных настроек в my.cnf. Везде поставил cp1251
3. Обновил mySQL до последней версии
4. Обновил php5 до последней версии
5. Для всех возможных настроек php5 поставил кодировку windows-1251
----------------

И ВСЕ РАВНО ЗНАКИ ВОПРОСА вместо русских букв. Даже не знаю как быть.
Вернуться к началу
Дмитрий Кóтеров
Администратор



Зарегистрирован: 10.03.2003
Сообщ.: 13553
Карма: 405
   поощрить/наказать


СообщениеДобавлено: Вт Ноя 22, 2005 12:28 pm (спустя 14 часов 7 минут; написано за 47 секунд)
   Заголовок сообщения:
Ответить с цитатой

Напишите минимальный тестовый скрипт на PHP (МИНИМАЛЬНЫЙ!), который будет вначале писать в базу русские буквы, затем - считывать их оттуда. Возможно, что у Вас уже в базе хранятся вопросики, вот Вы их и считываете.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Struchalin
Заглянувший



Зарегистрирован: 17.11.2005
Сообщ.: 17
Карма: 2
   поощрить/наказать


СообщениеДобавлено: Вт Ноя 22, 2005 3:25 pm (спустя 2 часа 56 минут; написано за 51 секунду)
   Заголовок сообщения:
Ответить с цитатой

wkeeper
Попробуйте вот так:
Код (php): скопировать код в буфер обмена
mysql_query("SET NAMES cp1251");
Сразу после соединения с сервером MySQL.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Гость






Карма: 367
   поощрить/наказать


СообщениеДобавлено: Вт Ноя 22, 2005 11:22 pm (спустя 7 часов 57 минут; написано за 2 минуты 1 секунду)
   Заголовок сообщения:
Ответить с цитатой

Дмитрий Кóтеров писал(а):
Напишите минимальный тестовый скрипт на PHP (МИНИМАЛЬНЫЙ!), который будет вначале писать в базу русские буквы, затем - считывать их оттуда. Возможно, что у Вас уже в базе хранятся вопросики, вот Вы их и считываете.
Проблема в том, что русские буквы не только не считываются, но и не записываются.
1. Записываем русские буквы - записываются вопросы
2. Считываем русские буквы (вставленные пхпмайадмином) - считываются вопросы

Struchalin, сейчас попробую
Вернуться к началу
Дмитрий Кóтеров
Администратор



Зарегистрирован: 10.03.2003
Сообщ.: 13553
Карма: 405
   поощрить/наказать


СообщениеДобавлено: Ср Ноя 23, 2005 10:54 am (спустя 11 часов 32 минуты; написано за 12 секунд)
   Заголовок сообщения:
Ответить с цитатой

Гость писал(а):
Проблема в том, что русские буквы не только не считываются, но и не записываются.
Не верю. Предоставьте минимальный тестовый скрипт.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
exvel
Гость





Карма: 367
   поощрить/наказать


СообщениеДобавлено: Ср Ноя 23, 2005 8:46 pm (спустя 9 часов 51 минуту; написано за 11 секунд)
   Заголовок сообщения:
Ответить с цитатой

Спасибо всем за ответы, помогло. =)
Вернуться к началу
Димитрий_
Гость





Карма: 367
   поощрить/наказать


СообщениеДобавлено: Вт Ноя 29, 2005 1:34 am (спустя 5 дней 4 часа 48 минут)
   Заголовок сообщения:
Ответить с цитатой

А может проблема у всех в том что они попросту забывают после внесения изменений в my.conf заново залить данные в БД?
Вернуться к началу
Дмитрий Кóтеров
Администратор



Зарегистрирован: 10.03.2003
Сообщ.: 13553
Карма: 405
   поощрить/наказать


СообщениеДобавлено: Пн Dec 05, 2005 7:47 pm (спустя 6 дней 18 часов 12 минут; написано за 55 секунд)
   Заголовок сообщения:
Ответить с цитатой

Всем, у кого все еще вопросики. Я погуглил минут 20, раскопал решение (вроде как).
Впишите в my.ini:

init-connect='SET NAMES utf8'

Собственно, надо было просто внимательно почитать документацию (пользовательские комментарии).

У кого получится, обязательно сюда пишите!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Maus
Модератор



Зарегистрирован: 29.06.2003
Сообщ.: 7410
Карма: 242
   поощрить/наказать

Откуда: пос. Омсукчан Магаданской области

СообщениеДобавлено: Пн Dec 05, 2005 8:38 pm (спустя 50 минут; написано за 44 секунды)
   Заголовок сообщения:
Ответить с цитатой

Дмитрий Кóтеров писал(а):
init-connect='SET NAMES utf8'
А почему не
Цитата:
init-connect="SET NAMES cp1251"
? в двух словах?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Дмитрий Кóтеров
Администратор



Зарегистрирован: 10.03.2003
Сообщ.: 13553
Карма: 405
   поощрить/наказать


СообщениеДобавлено: Вт Dec 06, 2005 12:07 am (спустя 3 часа 29 минут; написано за 1 минуту 13 секунд)
   Заголовок сообщения:
Ответить с цитатой

Ой. Это я опечатался. Естественно, init-connect="SET NAMES cp1251". Я тут просто установил MySQL5 из "чистой" rpm-ки на Linux, и вот, поперди вопросики как раз. После init-connect все заработало, как часы. Судя по документации, это и есть единственно верный способ.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Кипер
Гость





Карма: 367
   поощрить/наказать


СообщениеДобавлено: Вт Dec 06, 2005 1:38 am (спустя 1 час 30 минут; написано за 1 минуту 32 секунды)
   Заголовок сообщения:
Ответить с цитатой

столкнулся с той же проблемой в последнем дистрибутиве Денвера.
опробовал все выше сказанные советы по изменению my.cnf - эффекта 0
Пока все решилось только выполнением команд по установке кодировки в конструкторе соединения с базой данных.
Вернуться к началу
Дмитрий Кóтеров
Администратор



Зарегистрирован: 10.03.2003
Сообщ.: 13553
Карма: 405
   поощрить/наказать


СообщениеДобавлено: Вт Dec 06, 2005 1:53 pm (спустя 12 часов 15 минут; написано за 1 минуту 10 секунд)
   Заголовок сообщения:
Ответить с цитатой

Параметр init-connect добавился в версии 4.1.2, в Денвере - 4.1.8, так что должен работать. Экспериментируйте с my.cnf. Возможно, он у Вас просто не считывается или лежит где-то не там. А может, какой-то другой my.cnf (или my.ini) в системе затесался, поищите по дискам.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Дмитрий Кóтеров
Администратор



Зарегистрирован: 10.03.2003
Сообщ.: 13553
Карма: 405
   поощрить/наказать


СообщениеДобавлено: Вт Dec 06, 2005 1:54 pm (спустя 40 секунд; написано за 37 секунд)
   Заголовок сообщения:
Ответить с цитатой

Фактически ведь init-connect как раз и содержит команды, которые выполняются при любом коннекте к базе в самом начале. Вы то же самое сделали в конструкторе.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Дмитрий Кóтеров
Администратор



Зарегистрирован: 10.03.2003
Сообщ.: 13553
Карма: 405
   поощрить/наказать


СообщениеДобавлено: Чт Dec 15, 2005 2:24 pm (спустя 9 дней 29 минут; написано за 9 минут 37 секунд)
   Заголовок сообщения:
Ответить с цитатой

Итак, выяснилось, что init-connect срабатывает только в том случае, если соединение идет не под root-пользователем.
http://bugs.mysql.com/bug.php?id=15709

Потому-то не у всех проблемы и наблюдаются: кто поленивее, тот не добавляет новую базу+пользователя через Tools/addmuser/, а коннектится под рутом и имеет кучу проблем. А кто поаккуратнее, коннектится под соответствующим пользователем и проблем не имеет.

Как ни странно, при коннекте через mod_php4 кодировка выставляется правильно, даже если соединяться под root. Проблема наблюдается только во всех остальных программах (PHP5, mysql.exe и т.д.). Откуда уж mod_php4 знает, какую кодировку ставить, - загадка.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Дмитрий Кóтеров
Администратор



Зарегистрирован: 10.03.2003
Сообщ.: 13553
Карма: 405
   поощрить/наказать


СообщениеДобавлено: Чт Dec 15, 2005 2:24 pm (спустя 10 секунд; написано за 6 секунд)
   Заголовок сообщения:
Ответить с цитатой

Итак, краткая выжимка из всего что тут обсуждалось.

Если в скриптах при извлечении данных из MySQL 4.1 получаются вопросики вместо русских букв, можно применить одно из следующих решений.
  1. Вписать в скрипт что-то вроде: mysql_query("SET NAMES cp1251"). Это надо делать сразу же после подключения к MySQL. Проблема исчезнет.
  2. Вписать init-connect="SET NAMES cp1251" в /usr/local/mysql4/my.cnf (кто не видит этого файла, пусть изучает Windows, читает форум и думает головой) и перезапустить MySQL. Однако это сработает только для соединений, которые проходят НЕ под root-пользователем. Скрипты, коннектящиеся к базе под root, по-прежнему будут получать неверную кодировку. Лучше всего будет все-таки завести новую базу и пользователя через http://localhost/Tools/addmuser/ и забыть о проблеме.
  3. Чтобы диагностировать проблему, выполните в скрипте запрос SHOW VARIABLES LIKE 'char%'. Пример:
    Код (any language): скопировать код в буфер обмена
    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     | cp1251                           |
    | character_set_system     | utf8                             |
    | character_sets_dir       | \usr\local\mysql4/share/charsets |
    +--------------------------+----------------------------------+
    7 rows in set (0.00 sec)
    Как видите, кодировка неверная: character_set_client=latin1. Это из-за того, что я подключился к базе под root. Если теперь подключусь под не-root пользователем - все будет нормально.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Михалыч
Гость





Карма: 367
   поощрить/наказать


СообщениеДобавлено: Вт Dec 27, 2005 6:47 pm (спустя 12 дней 4 часа 23 минуты; написано за 6 минут 1 секунду)
   Заголовок сообщения:
Ответить с цитатой

Кипер писал(а):
столкнулся с той же проблемой в последнем дистрибутиве Денвера.
опробовал все выше сказанные советы по изменению my.cnf - эффекта 0
Пока все решилось только выполнением команд по установке кодировки в конструкторе соединения с базой данных.
Я тоже сделал всё вышесказанное, попробовал ставить MySql - 6 Windows версий и три версии на RedHat - одни ????????????????????????????????????? ?? ????.
Пятый ПХП не хочет совсем кириллицу выдавать.
Причём PMA нормально работает,а мои скрипты, Нюка, IPB - не пашут.
Переписывать команды в конструкторе соединения в IPB не решился.
Вернуться к началу
Михалыч
Гость





Карма: 367
   поощрить/наказать


СообщениеДобавлено: Вт Dec 27, 2005 7:06 pm (спустя 19 минут; написано за 2 минуты 57 секунд)
   Заголовок сообщения:
Ответить с цитатой

Только что поставил на свой комп IIS 5 и на него 5.0.4 ПХП, MySQL 5.0.1.
Под ИИэсом та-же фигня с вопросиками.
Вернуться к началу
Дмитрий Кóтеров
Администратор



Зарегистрирован: 10.03.2003
Сообщ.: 13553
Карма: 405
   поощрить/наказать


СообщениеДобавлено: Вт Dec 27, 2005 7:32 pm (спустя 25 минут; написано за 14 секунд)
   Заголовок сообщения:
Ответить с цитатой

Вы читали то, что выше написано? Видимо, не читали.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
boRAda
Заглянувший



Зарегистрирован: 13.12.2005
Сообщ.: 10
Карма: 1
   поощрить/наказать


СообщениеДобавлено: Ср Dec 28, 2005 1:23 pm (спустя 17 часов 51 минуту; написано за 13 минут 22 секунды)
   Заголовок сообщения:
Ответить с цитатой

Дмитрий Кóтеров писал(а):
Вы читали то, что выше написано? Видимо, не читали.
Извините, конечно, Дмитрий... Но вот несколько раз прочитал, поискал в других местах.. сделал ВСЕ что написано...
Работает только init-connect="SET NAMES cp1251" в самом скрипте. Понятно, что где-то в настройках не то. Дома рнр5 на старой базе работает без проблем - скопировал полностью папку WebServer на работу( конфигурация одинаковая, на диск С) - вопросики... Поставил поверх новый денвер - без изменений. Попробую снести его полностью, мож поможет. Да, и захожу не под root!
После всего возникает такой вопрос -
1. где еще могут быть прописаны установки, кроме WebServer?
2. init-connect="SET NAMES cp1251" я прописал во все рекомендованные файлы ( ini cnf) Есть разница, куда именно прописывать в текст?

В my.ini:

[client]
port=3306
default-character-set=cp1251
character-sets-dir = /usr/local/mysql4/share/charsets
init-connect="SET NAMES cp1251"

[mysqld]
default-character-set=cp1251
default-collation="cp1251_general_ci"
character-set-server="cp1251"
init-connect="SET NAMES cp1251"

так же:

basedir="C:/WebServers/usr/local/mysql4/"

datadir="C:/WebServers/usr/local/mysql4/Data/"

3) путь к my.cnf где проверить? Других файлов my.cnf и my.ini на компе нет.

ЗЫ. Проблеа еще в том, что программистам тяжело объяснять диалетантам, т.к. с их колокольни все понятно и само собой просто :(
И я их понимаю...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
boRAda
Заглянувший



Зарегистрирован: 13.12.2005
Сообщ.: 10
Карма: 1
   поощрить/наказать


СообщениеДобавлено: Ср Dec 28, 2005 2:15 pm (спустя 51 минуту; написано за 2 минуты 12 секунд)
   Заголовок сообщения:
Ответить с цитатой

Переставил начистую весь денвер. Неработает. Сделал поправки из всей темы - неработает. Т.е. вопросики пишет. И только при вставке в скрипт init-connect="SET NAMES cp1251" - появляются буквы.
:(
Кстати my.ini в инсталяхе нету.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Maus
Модератор



Зарегистрирован: 29.06.2003
Сообщ.: 7410
Карма: 242
   поощрить/наказать

Откуда: пос. Омсукчан Магаданской области

СообщениеДобавлено: Ср Dec 28, 2005 2:22 pm (спустя 6 минут; написано за 31 секунду)
   Заголовок сообщения:
Ответить с цитатой

boRAda писал(а):
Кстати my.ini в инсталяхе нету
Денвера? И не было, насколько мне помнится.. Есть my.cnf
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
boRAda
Заглянувший



Зарегистрирован: 13.12.2005
Сообщ.: 10
Карма: 1
   поощрить/наказать


СообщениеДобавлено: Ср Dec 28, 2005 2:26 pm (спустя 4 минуты; написано за 4 минуты 32 секунды)
   Заголовок сообщения:
Ответить с цитатой

Maus писал(а):
boRAda писал(а):
Кстати my.ini в инсталяхе нету
Денвера? И не было, насколько мне помнится.. Есть my.cnf
Возможно. А тогда его самому создавать? Хм. Иначе куда я буду "поправки" вносить???
my.cnf - да, есть. Правда пришлось в свойствах папки "типы файлов" расширение принудительно заставить показать.

А вот еще вопрос. В my.cnf:

# Следующие параметры будут переданы всем клиентским программам
# (например, mysql.exe). ВНИМАНИЕ: если не сработает, укажите
# путь к my.cnf ЯВНО, например:
#
# mysql.exe --defaults-file=/usr/local/mysql4/my.cnf ...

А как это сделать не из ком строки а при запуске "Start servers"? С батничком я бы справился, но там exe...

или эту строку с конфиге указать?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начaть нoвую тeму   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения. Часовой пояс: GMT + 3 (Москва)
На страницу Пред.  1, 2, 3, 4, 5  След.
Страница 2 из 5   
Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать в опросах. Вы не можете прилагать файлы к сообщениям. Вы можете скачивать файлы.
  XML