imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 23.06.2004, 14:59     # 1
Deadlock
Junior Member
 
Регистрация: 13.08.2002
Адрес: Украина
Сообщения: 76

Deadlock Нуль без палочки
Unhappy Помогите настроить MySql

Проблема в кодировках. При создании таблиц, в каталоге с данными появляются соответсвующие файлы, но имена их не разбрать(кодировка не та). При насильном выставлении русской кодировки на сервер, он ваще не стартует!!!

П.С. Вот кусок файла настройки

#Path to the character-sets directory.
#character-sets-dir=c:/mysql/share/charsets

#Set the default character set.
#default-character-set=win1251

П.П.С Если выставить кодировку latin1, то сервак стартует.
ХЕЛП !!!
Deadlock вне форума  
Старый 23.06.2004, 15:10     # 2
_ARMAGEDDON_
Guest
 
Сообщения: n/a

попробуй так
default-character-set=cp1251

Последний раз редактировалось _ARMAGEDDON_; 23.06.2004 в 15:12.
 
Старый 23.06.2004, 15:17     # 3
Saruman
::VIP::
 
Аватар для Saruman
 
Регистрация: 12.11.2002
Адрес: Nicosia, Cyprus
Сообщения: 1 285

Saruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman Гуру
Deadlock
Цитата:
в каталоге с данными появляются соответсвующие файлы, но имена их не разбрать(кодировка не та)
А ты таблицы по-русски называешь, что ли, что на их имена кодировка влияет?
__________________
"If people only knew how hard I work to gain my mastery, it wouldn't seem so wonderful at all." Michelangelo Buonarroti
Saruman вне форума  
Старый 23.06.2004, 17:02     # 4
Sheryld
Full Member
 
Регистрация: 29.05.2002
Сообщения: 544

Sheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царстве
если ты имеешь ввиду кодировку в конфигурационном файле(my.ini), то:

для сервера(в даном случае сервер - демон):
[mysqld]
default-character-set=cp1251
character-sets-dir=path_To_MySql_Directory/share/charsets

для клиента:
[client]
default-character-set=cp1251
character-sets-dir=path_To_MySql_Directory/share/charsets

проверка:
mysql->status, везде жолжно стоять то, что указано:cp1251(в данном случае)

также наверное придеться перестроить индексы.

-----------------------------------------------------------------

по-поводу файлов.
mysql тут не причем, за файлы(точнее отображение их имен), отвечает ос. может быть mysql не умееет создавать корректно названия файлов в кирилице - не знаю не проверял.

вообще лучше называть базы, таблица, атрибуты и т.д. на английском.
Sheryld вне форума  
Старый 23.06.2004, 23:54     # 5
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Saruman:
А ты таблицы по-русски называешь, что ли, что на их имена кодировка влияет?
Тоже это мне очень удивительно, только на файлы влияют имена не таблиц, а создаваемых Баз. Но вопрос остается открытым...
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 24.06.2004, 03:08     # 6
Deadlock
Junior Member
 
Регистрация: 13.08.2002
Адрес: Украина
Сообщения: 76

Deadlock Нуль без палочки
Angry

Все дело из-за чего... Конвертил я базы msaccess в mysql. MySqladmin(тот что на пэхапэ) видиит все нормально, а вот при запросе из моей странички выдает, что таблица не существует, и имя таблицы пишет кракозябрами.

Переделывать имена таблиц в англицкие я задолбаюсь.
В любом случае, если в конфигурации сервера стоит русская кодировка, то он не стартует!!!!
Deadlock вне форума  
Старый 24.06.2004, 03:19     # 7
Saruman
::VIP::
 
Аватар для Saruman
 
Регистрация: 12.11.2002
Адрес: Nicosia, Cyprus
Сообщения: 1 285

Saruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman Гуру
Deadlock
Цитата:
MySqladmin(тот что на пэхапэ) видиит все нормально, а вот при запросе из моей странички выдает, что таблица не существует, и имя таблицы пишет кракозябрами
Может, в таком случае, ты просто скрипт свой пишешь не в той кодировке? К примеру, myadmin у тебя работает нормально в win1251, а скрипт в dos или koi8 написан. Соответственно и имена таблиц не будут совпадать, т.к. коды русский букв в различных кодировках разные.
__________________
"If people only knew how hard I work to gain my mastery, it wouldn't seem so wonderful at all." Michelangelo Buonarroti
Saruman вне форума  
Старый 24.06.2004, 07:35     # 8
Deadlock
Junior Member
 
Регистрация: 13.08.2002
Адрес: Украина
Сообщения: 76

Deadlock Нуль без палочки
Такая лабуда началась при переходе с версии 3.х на 4.х сервака MySql. А с кодировкой скрипта все чудесно, она Win1251.
Deadlock вне форума  
Старый 24.06.2004, 13:34     # 9
Saruman
::VIP::
 
Аватар для Saruman
 
Регистрация: 12.11.2002
Адрес: Nicosia, Cyprus
Сообщения: 1 285

Saruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman Гуру
Deadlock
Если phpMyAdmin нормально работает, а твой скрипт - нет, то проблема у тебя в скрипте, а не в MySQL
__________________
"If people only knew how hard I work to gain my mastery, it wouldn't seem so wonderful at all." Michelangelo Buonarroti
Saruman вне форума  
Старый 24.06.2004, 14:55     # 10
Sheryld
Full Member
 
Регистрация: 29.05.2002
Сообщения: 544

Sheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царстве
все. понял твою проблему.

утилиты mysql(под win к примеру), не понимают кирилицу!

провел тесты:

создание бд,таблиц, атрибутов с именами на кирилице.

результаты:

через mysql(стандартная утилита): создает, но кирилицу не понимает, т.е. например, сохдать бд с именем `тест1`. создается: вҐбв1

через phpMyAdmin: все работает как надо от баз данных до атрибутов таблиц.
Sheryld вне форума  
Старый 24.06.2004, 15:13     # 11
Saruman
::VIP::
 
Аватар для Saruman
 
Регистрация: 12.11.2002
Адрес: Nicosia, Cyprus
Сообщения: 1 285

Saruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman Гуру
Sheryld
Дык он говорит, что при работе из своих скриптов не может к таблицам обратиться, а не через стандартные утилиты.
__________________
"If people only knew how hard I work to gain my mastery, it wouldn't seem so wonderful at all." Michelangelo Buonarroti
Saruman вне форума  
Старый 24.06.2004, 15:26     # 12
Sheryld
Full Member
 
Регистрация: 29.05.2002
Сообщения: 544

Sheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царстве
скрипт в студию.
Sheryld вне форума  
Старый 25.06.2004, 05:45     # 13
Deadlock
Junior Member
 
Регистрация: 13.08.2002
Адрес: Украина
Сообщения: 76

Deadlock Нуль без палочки
Angry

При создании таблицы через Sql, с русской кодировкой, пишет, что такой кодировки нет!!! Т.е. скорее всего, поэтому и сервер не стартует.

П.С. Перепробовал все варианты киррилицы и т.п.

Вощем в итоге проблема не решена. Злобно как-то выходит
Deadlock вне форума  
Старый 25.06.2004, 12:40     # 14
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Deadlock:
При создании таблицы через Sql, с русской кодировкой, пишет, что такой кодировки нет!!!
Тоесть с русской кодировкой в названии таблицы? Дак просто не нужно использовать русские символы и все....
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 25.06.2004, 16:38     # 15
Saruman
::VIP::
 
Аватар для Saruman
 
Регистрация: 12.11.2002
Адрес: Nicosia, Cyprus
Сообщения: 1 285

Saruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman Гуру
Deadlock
Товарищ, телепаты в отпуске, так что определись уже, в чем твоя проблема. Сначала ты говоришь
Цитата:
запросе из моей странички выдает, что таблица не существует, и имя таблицы пишет кракозябрами
Потом оказывается, что
Цитата:
При создании таблицы через Sql, с русской кодировкой, пишет, что такой кодировки нет
Если хочешь услышать нормальные ответы - задавай нормальные вопросы. Если не работает скрипт - показывай код скрипта, если не создается таблица - давай дамп таблицы, sql-код, который пытаешься выполнить, и т.п.
__________________
"If people only knew how hard I work to gain my mastery, it wouldn't seem so wonderful at all." Michelangelo Buonarroti
Saruman вне форума  
Старый 26.06.2004, 04:40     # 16
Deadlock
Junior Member
 
Регистрация: 13.08.2002
Адрес: Украина
Сообщения: 76

Deadlock Нуль без палочки
Exclamation

Объясняю (то что выяснил уже).

В версии 4.1.1. сервака нельзя выставть кодировку отличную от latin1(та что по умолчанию). В итоге, при создании таблиц (в моем случае это конвертацию таблиц с русскими именами из msaccess в mysql специальной прогой (пробовал разные)) происходит создание таблиц с неправлиной кодировкой имен. Т.е. таблицы стают недоступны для запросов и т.п.

Кое-как работает MySqlAdmin, но опять же, имена таблиц не в той кодировке.

Переделка имен таблиц займет уйму времени!!! Придется переделывать тонну запросов.

В итоге я хочу получить ту же msaccess базу, но с подключением таблиц через коннектор к Mysql. Получится так что на сайте будут данные синхронзированны, и эти же данные я могу использовать для создания отчетов и т.п. в MsAccess.
Deadlock вне форума  
Старый 27.06.2005, 13:41     # 17
Ghost
::VIP::
Звезда первого сезона
Молчун-2004
 
Аватар для Ghost
 
Регистрация: 24.08.2002
Сообщения: 1 575

Ghost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех Гуру
Всем хай! Возникли непонятки с кодировками в mySQL и решил поднять тему.

Итак... Решил я поэкспериментировать с 5-ой версией (раньше жил на 4-ой). Всем абсолютно доволен, но... Возникли напряги с кодировками, а именно: есть там 5 системных переменных character-set-server, -client, -connection, -results и -database. Стартую службу и они устанавливаются в следующие значения: cp1251 - для server и database, latin1 - для client, connection и results. Что, есессно, меня не устраивает, ибо выборки идут криво. Можно, конечно, каждый раз при подключении к серверу насильно устанавливать кодировку ('SET NAMES cp1251;'), но хотелось бы что-бы это происходило автоматом. Отсюда вопрос: как?

Вот мой my.ini (или my мой.ini ) после кучи экспериментов, так и не приведших к нужному результату:
Код:
[client]
default-character-set=cp1251
character-set-connection=cp1251
character-set-client=cp1251
character-set-results=cp1251
port=3306

[mysql]
default-character-set=cp1251

[mysqld]
bind-address=1.1.1.1
port=3306
basedir="_MYSQL_DIR_/"
datadir="_MYSQL_DIR_/Data/"
character-sets-dir="_MYSQL_DIR_/share/charsets/"
character-set-server=cp1251
default-character-set=cp1251
language="_MYSQL_DIR_/share/english/"
default-storage-engine=MYISAM
max_connections=100
query_cache_size=0
table_cache=256
tmp_table_size=5M
thread_cache=8
myisam_max_sort_file_size=100G
myisam_max_extra_sort_file_size=100G
myisam_sort_buffer_size=8M
key_buffer_size=4M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=212K
skip-innodb
З.Ы. Ой, сорри, чуть не забыл: версия - 5.0.2-alpha

З.З.Ы. Модерам: кстати поиск по слову "default-character-set" дал кучу тем (кроме этой) с практически идентичными названиями:
Неправильная сортировка русских слов (MySQL)
MYSQL неправильно сортирует алфавитные данные
тсранные проблемы со сменой кодировки в mysql 3.23.5x
Character set, MySQL
Может, стоит объединить?

З.З.З.Ы. Советы сменить default-character-set на предлагать - как видите по конф-файлу уже стоит...

З.З.З.З.Ы. Кстати, обратил только внимание на еще один глюк: по дефолту при коннекте двух разных клиентов устанавливаются разные значения переменных -server и -client:
- latin1 и cp1251 соответственно для mysql.exe;
- сp1251 и latin1 соответственно для sqlyoug4.
Т.е. к одному и тому же серверу два различных клиента подключаются и выдают различные значения системных переменных.
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы!
Ghost вне форума  
Старый 13.07.2005, 17:08     # 18
Псих
::VIP::
Guinness Liker
Понаехало тут
 
Аватар для Псих
 
Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848

Псих СуперБогПсих СуперБог
Псих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБог
Ребята у меня такая трабла, не знаю, правильно ли я пишу, но я в этом деле пока что зеленый, так что простите если что.

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

10 ???? ???????
в разделе структура написано следующие
NAME char(30) latin1_swedish_ci
как это изменить..
Прочитал тему, в my.ini изменил кодировку юзера и mysqld но не помогло. ЧТо делать?

ЗЫ извините, если ошибся топом.
__________________
меня не вылечат

Последний раз редактировалось Псих; 13.07.2005 в 17:14.
Псих вне форума  
Старый 13.07.2005, 18:47     # 19
Ghost
::VIP::
Звезда первого сезона
Молчун-2004
 
Аватар для Ghost
 
Регистрация: 24.08.2002
Сообщения: 1 575

Ghost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех Гуру
Псих
Перед вставкой выполняй 'SET NAMES cp1251;'. Но, собсно, я тоже жду ответа, как это можно сделать автоматом, т.е. настроить сам мускл, шоб не приходилось выполнять такой запрос... Пока все молчат. Видать у тебя тоже версия 5 с копейками...
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы!
Ghost вне форума  
Старый 13.07.2005, 19:29     # 20
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Псих, измени collation (Сравнение) для столбца и/или таблицы и/или базы данных на какую-нибудь содержащую русские символы (ну или на юникод, если его хочешь использовать), например на cp1251_general_cs.

Это меняется для таблицы на вкладке "Операции" например. Для остального надеюсь тоже найдешь.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 03:13.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.