![]() |
Помогите настроить MySql
Проблема в кодировках. При создании таблиц, в каталоге с данными появляются соответсвующие файлы, но имена их не разбрать(кодировка не та). При насильном выставлении русской кодировки на сервер, он ваще не стартует!!! :confused:
П.С. Вот кусок файла настройки #Path to the character-sets directory. #character-sets-dir=c:/mysql/share/charsets #Set the default character set. #default-character-set=win1251 П.П.С Если выставить кодировку latin1, то сервак стартует. ХЕЛП !!! :молись: |
попробуй так
default-character-set=cp1251 |
Deadlock
Цитата:
|
если ты имеешь ввиду кодировку в конфигурационном файле(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 не умееет создавать корректно названия файлов в кирилице - не знаю не проверял. вообще лучше называть базы, таблица, атрибуты и т.д. на английском. |
Цитата:
|
Все дело из-за чего... Конвертил я базы msaccess в mysql. MySqladmin(тот что на пэхапэ) видиит все нормально, а вот при запросе из моей странички выдает, что таблица не существует, и имя таблицы пишет кракозябрами.
Переделывать имена таблиц в англицкие я задолбаюсь. В любом случае, если в конфигурации сервера стоит русская кодировка, то он не стартует!!!! |
Deadlock
Цитата:
|
Такая лабуда началась при переходе с версии 3.х на 4.х сервака MySql. А с кодировкой скрипта все чудесно, она Win1251.
|
Deadlock
Если phpMyAdmin нормально работает, а твой скрипт - нет, то проблема у тебя в скрипте, а не в MySQL |
все. понял твою проблему.
утилиты mysql(под win к примеру), не понимают кирилицу! провел тесты: создание бд,таблиц, атрибутов с именами на кирилице. результаты: через mysql(стандартная утилита): создает, но кирилицу не понимает, т.е. например, сохдать бд с именем `тест1`. создается: вҐбв1 через phpMyAdmin: все работает как надо от баз данных до атрибутов таблиц. |
Sheryld
Дык он говорит, что при работе из своих скриптов не может к таблицам обратиться, а не через стандартные утилиты. |
скрипт в студию.
|
При создании таблицы через Sql, с русской кодировкой, пишет, что такой кодировки нет!!! Т.е. скорее всего, поэтому и сервер не стартует.
П.С. Перепробовал все варианты киррилицы и т.п. Вощем в итоге проблема не решена. Злобно как-то выходит :( |
Цитата:
|
Deadlock
Товарищ, телепаты в отпуске, так что определись уже, в чем твоя проблема. Сначала ты говоришь Цитата:
Цитата:
|
Объясняю (то что выяснил уже).
В версии 4.1.1. сервака нельзя выставть кодировку отличную от latin1(та что по умолчанию). В итоге, при создании таблиц (в моем случае это конвертацию таблиц с русскими именами из msaccess в mysql специальной прогой (пробовал разные)) происходит создание таблиц с неправлиной кодировкой имен. Т.е. таблицы стают недоступны для запросов и т.п. Кое-как работает MySqlAdmin, но опять же, имена таблиц не в той кодировке. Переделка имен таблиц займет уйму времени!!! Придется переделывать тонну запросов. В итоге я хочу получить ту же msaccess базу, но с подключением таблиц через коннектор к Mysql. Получится так что на сайте будут данные синхронзированны, и эти же данные я могу использовать для создания отчетов и т.п. в MsAccess. |
Всем хай! Возникли непонятки с кодировками в 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" дал кучу тем (кроме этой) с практически идентичными названиями: Неправильная сортировка русских слов (MySQL) MYSQL неправильно сортирует алфавитные данные тсранные проблемы со сменой кодировки в mysql 3.23.5x Character set, MySQL Может, стоит объединить? З.З.З.Ы. Советы сменить default-character-set на предлагать - как видите по конф-файлу уже стоит... :( З.З.З.З.Ы. Кстати, обратил только внимание на еще один глюк: по дефолту при коннекте двух разных клиентов устанавливаются разные значения переменных -server и -client: - latin1 и cp1251 соответственно для mysql.exe; - сp1251 и latin1 соответственно для sqlyoug4. Т.е. к одному и тому же серверу два различных клиента подключаются и выдают различные значения системных переменных. :( |
Ребята у меня такая трабла, не знаю, правильно ли я пишу, но я в этом деле пока что зеленый, так что простите если что.
Создаю таблицу в phpmyadmin а когда делаю инсерт и ввожу значения русс. буквами получаю (англ. нормально) 10 ???? ??????? в разделе структура написано следующие NAME char(30) latin1_swedish_ci как это изменить.. Прочитал тему, в my.ini изменил кодировку юзера и mysqld но не помогло. ЧТо делать? ЗЫ извините, если ошибся топом. |
Псих
Перед вставкой выполняй 'SET NAMES cp1251;'. Но, собсно, я тоже жду ответа, как это можно сделать автоматом, т.е. настроить сам мускл, шоб не приходилось выполнять такой запрос... :idontnow: Пока все молчат. Видать у тебя тоже версия 5 с копейками... :( |
Псих, измени collation (Сравнение) для столбца и/или таблицы и/или базы данных на какую-нибудь содержащую русские символы (ну или на юникод, если его хочешь использовать), например на cp1251_general_cs.
Это меняется для таблицы на вкладке "Операции" например. Для остального надеюсь тоже найдешь. |
А еще вопрос, можно?
В бд все ок. Спасибо. Но когда делаю Код:
echo "$a[title]"Мне выдает все равно ?????????????? Опять так, сорри, если не в ту тему написал! |
Я думаю, тут надо кодировку на странице выбрать.
Код:
<META content="text/html; charset=windows-1251" http-equiv=Content-Type>В конфиге апача поставил AddDefaultCharset WINDOWS-1251 не спасло ;( |
Псих, дак а в какой кодировке выдается сам документ, посмотри.
А потом подбери в браузере кодировку для этого текста (ну перебери несколько пока не станет читаемым) ну и выдавай эту страницу в найденной нужной. |
ХМ..
База данных выдает данных в кодировке cp1251_general_cp Браузер открывает его Window Cyrillic Alphabet. Перепробовал все кирилические кодировки. никакая не помогла. |
Странно, если база в cp1251_general_cp и в ней данные нормально, то поидее при просмотре страницы в кодировке Windows-1251 все должно читаться.
А в базе и смотрится русский и редактируется нормально с этим collation? Дай хоть ссылку на страницу где можно кодировку поподбирать. |
Да внутри базы все ок. Все буквы отображает.
Базу дампил тоже все ок. Думаю апач не правильно настроен. Или сам мускуль конфиг. Весь день роюсь. ничего не нарыл! Хм страница в локале.. пока базу перенесу.. |
Тогда еще может быть проблема в кодировке клиента (ПХП в данном случае) - попробуй полученную строку поперекодировать из разных кодировок, тогда если найдешь, сможешь в нем прописать в какой нужно.
|
Ребята, как я понял, у вас проблема с кодировкой НЕ MySQL или Apache - а PHP.
Откройте файл php.ini и в нем найдите "default_charset" Очень вероятно, что там стоит по-умолчанию: default_charset = "iso-8859-1" Или белиберда. Закомментируйте - и все будет гуд. |
| Часовой пояс GMT +4, время: 05:58. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.