Главная

Дедик.ру | выделенный сервер.

Dedicated - выделенный сервер или просто дедик. Платные и бесплатные панели для дедика. Безопасность выделенного сервера.

Дедик :: Общие сведения | Будь защищен | Сделай сам! | Свой хостинг | Support: Черный список
Панели управления :: WHM/cPanel | Plesk | DirectAdmin | VHCS
Датацентры :: Черный список
О проекте Дедик.ру
Обсуждение статей
 

Реклама

Опрос

Пользуетесь ли вы услугами удаленных сисадминов?
Да, постоянно
16%
Да, если возникают какие-то проблемы
11%
Нет, только запрашиваю консультации
26%
Нет, вообще не пользуюсь
42%
Свой вариант, напишу в комментариях
5%
Всего голосов: 19
  • 1 комментарий
  • Старые опросы

Статистика


Rambler's Top100 Рейтинг@Mail.ru

Спонсоры сайта

Поиск

Вход для пользователей

CAPTCHA
Этот вопрос для проверки являетесь ли вы адекватным человеком или спам-ботом.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.
  • Зарегистрироваться
  • Запросить новый пароль

Навигация

  • Услуги экспертов
  • Карта сайта
  • Опросы
  • Поиск
  • Форум
  • Users by points
  • Последние сообщения

Сбор новостей

Синдикация материалов
Главная

MySQL и русская кодировка WINDOWS-1251

Сегодня мы рассмотрим, что нужно написать в конфигурационном файле /etc/my.cnf для того, чтобы настроить mysql стандартной сборки на работу с кодировкой utf8 по умолчанию без всякой перекомпиляции.

Рассмотрим пример конфига на основе MySQL 5.x.

В раздел [mysqld] необходимо добавить следующее:

default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
init-connect="SET NAMES utf8"
skip-character-set-client-handshake

Две последние строки принудительно устанавливают кодировку utf8 для всех запросов.

В раздел [mysqldump] достаточно добавить только

default-character-set=utf8

Этого достаточно, чтобы MySQL работал с windows-1251 кодировкой по умолчанию.

Если же при импорте базы данных вместо русских букв выдаются иероглифы или знаки вопроса, это значит, что дамп был сделан в кодировке, отличной от utf8. Переделайте дамп в utf8 или перекодируйте его в нужную кодировку с помощью утилит iconv или recode.

  • От admin в 12 Апр 2006 - 00:11
  • Общие сведения
  • Сделай сам!
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Довольно больно

Довольно больной вопрос особенно при переезде с 4.0 на 4.1+. A как быть если пользователю нужна кодировка отличная от utf8 и не лучше ли по дефолту хранить данные в базе в utf8, а отдавать в utf8?

  • От Гость (не проверено) в 23 Июн 2006 - 21:30
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Если пользовате

Если пользователю нужна другая кодировка, то он ее может указать явно.
Хранить данные в UTF8, а отдавать в другой кодировке - лишняя трата ресурсов на перекодировку.

  • От admin в 24 Июн 2006 - 07:09
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

utf8

Этот сайт на utf8, что произойдет с ним, если добавить эти строчки "init-connect="SET NAMES utf8"
skip-character-set-client-handshake" в конфиги mysql? Я думаю вместо русских букв появятся одни вопросы. Ошибаюсь?

  • От Alexey в 24 Июн 2006 - 12:27
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Ошибаетесь, это

Ошибаетесь, этот сайт на самом деле в utf8, точнее, его база данных.
Кодировку в utf выполняет движок, это его особенность.

  • От admin в 25 Июн 2006 - 07:22
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Ошибаетесь...

При использовании init-connect и выполнении запросов юзеров с провами ALL либо рутом... все равно выдаются одни вопросы...
Так что однозначного решения не нашлось пока...

До этого времени пока в скрипте после коннекта базы надо сделать
SET @@local.character_set_client=utf8
SET @@local.character_set_results=utf8
SET @@local.character_set_connection=utf8
SET @@local.character_set_results=utf8
и всё... это альтернатива init-connect

  • От BioHOST.ru (не проверено) в 27 Июл 2006 - 10:28
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Если в точности

Если в точности следовать инструкциям - вопросов небудет. Возможно Вы что-то упустили.

  • От admin в 27 Июл 2006 - 13:20
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Установил муску

Установил мускул 5.0.18_win...yj тут нет файла my.cnf! Есть my.ini в которые я внес эти изменения - опять вопросики! Что не так

  • От RizONE (не проверено) в 22 Авг 2006 - 07:32
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Сервер с Windows? Эт

Сервер с Windows? Эти инструкции для *nix серверов.

  • От admin в 22 Авг 2006 - 13:05
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

1

ну все просто. тебе нужно просто копировать файл с /usr/ports/databases/mysql51-server/work/mysql-5.1.16-beta/support-files/my-medium.cnf(my-small.cnf, lagre на твой выбор) в папку /etc с переименуя в my.cnf
потом перезапускам сервер
/usr/local/etc/rc.d/mysql-server stop
и включаем
/usr/local/etc/rc.d/mysql-server start
все, можно работать.

  • От Гость (не проверено) в 27 Мар 2007 - 07:58
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Решено... все про

Решено... все проблемы решены... если что обращайтесь... расскажу...
Проблема было в следубщем... Мускл был поставлен изначально с латин1... со старого сервера все данные залиты туда... соответственно получилось что все данные в латин1... при переходе на нормальныую русскую сп1251 возникли трудности с перекодировкой нескольких десятков ГБ БД... есть скрипт... сырой... но рабочий... по созданию бекапов для тех кто не может забекапить в правильно кодировке...

  • От Гость (не проверено) в 13 Сен 2006 - 20:29
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

iconv в помощь

iconv в помощь

  • От admin в 14 Сен 2006 - 07:43
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

skip-character-set-client-handshake - mysqldump

в принципе
skip-character-set-client-handshake=yes
default-character-set=utf8
решает почти все проблеммы - но в ситуации когда у вас есть хосты в отличной от сз1251 кодировке пользователи не могут юзать mysqldump - потому как он кодировку устанавливает именно через client-handshake так что указание в параметрах кодировки не помогает - конечно можно "полечить" mysqldump - но ведь все затевалось только затем чтобы не компилить клиентские либы - вот такая бяка. Надо бы написать авторам чтобы кодировка указаная как параметр mysqldump устанавливалась не через "рукопожатие" а командой mysql. Но я на вражеском переписываться не умею.

  • От Sabay (не проверено) в 24 Сен 2006 - 05:07
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

что-б было все п

что-б было все правильно и не лезть в настройки mysqld достаточно после коннекта с базой сделать такие запросы:

mysqli_query($active_db,'SET NAMES "UTF8"');
mysqli_query($active_db,"SET collation_connection='utf8_general_ci'");
mysqli_query($active_db,"SET collation_server='utf8_general_ci'");
mysqli_query($active_db,"SET character_set_client='utf8'");
mysqli_query($active_db,"SET character_set_connection='utf8'");
mysqli_query($active_db,"SET character_set_results='utf8'");
mysqli_query($active_db,"SET character_set_server='utf8'");

если utf8 то ее подставить

  • От Гость (не проверено) в 25 Сен 2006 - 13:41
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

MySQL и русская кодировка WINDOWS-1251

Зачем все эти сложности.MYSQL установлен со стандартной кодировкой latin1,стандартная установка.А базы создаются уже в какой потребуется.Раньше тоже мучался а после двух месяцев мучений нашел оптимальный вариант.И больше вопросиков не возникает.Правда все сайты а их 5 штук в локальной сети,на одном апаче и одном mysql.

  • От Гость (не проверено) в 6 Окт 2006 - 07:17
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Это если создав

Это если создавать, а если базы уже существуют?

  • От admin в 7 Окт 2006 - 04:25
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

re

latin1 самая неверная кодировка для национальных баз данных. В будущем будет море проблем.

  • От Гость (не проверено) в 25 Июл 2007 - 20:18
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Всё работает ка

Всё работает как часы
РЕСПЕКТ!!!

  • От Zigfred (не проверено) в 24 Окт 2006 - 17:16
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Очень благодарен!!!

У меня Windows-хостинг, причем БД с UTF-8.
Ничего не помогало, пока не попробовал вот это:

mysqli_query($active_db,'SET NAMES "UTF8"');
mysqli_query($active_db,"SET collation_connection='utf8_general_ci'");
mysqli_query($active_db,"SET collation_server='utf8_general_ci'");
mysqli_query($active_db,"SET character_set_client='utf8'");
mysqli_query($active_db,"SET character_set_connection='utf8'");
mysqli_query($active_db,"SET character_set_results='utf8'");
mysqli_query($active_db,"SET character_set_server='utf8'");

Еще раз большое спасибо!

  • От Гость (не проверено) в 13 Ноя 2006 - 02:44
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Спасибо, челове

Спасибо, человеку!!!
mysqli_query($active_db,'SET NAMES "UTF8"');
mysqli_query($active_db,"SET collation_connection='utf8_general_ci'");
mysqli_query($active_db,"SET collation_server='utf8_general_ci'");
mysqli_query($active_db,"SET character_set_client='utf8'");
mysqli_query($active_db,"SET character_set_connection='utf8'");
mysqli_query($active_db,"SET character_set_results='utf8'");
mysqli_query($active_db,"SET character_set_server='utf8'");

Воркает!

  • От Гость (не проверено) в 21 Ноя 2006 - 14:49
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Спасибо, челове

БОЛЬШОЕ СПАСИБО

  • От Гость (не проверено) в 23 Ноя 2006 - 18:31
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

снова вопросики

а как быть, если дамп в 1251, а всеравно вопросики?

  • От Гость (не проверено) в 8 Дек 2006 - 01:03
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Кодировка дампа

Кодировка дампа должна быть равной кодировки mysql. Или переведите mysql в 1251 или дамп в нужную кодировку.

  • От admin в 8 Дек 2006 - 08:17
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Кодировка БД

Я извиняюсь .. может я чего то упустил ... но у меня вопрос всё по той же теме ...

При заносе информации в БД у меня в самой БД высвечиваются вопросики ... и при изъятии их оттуда тоже вопросики... подскажите пожалуйста ещё раз ЧТО ДЕЛАТЬ???

Кодировки на БД и таблицы и поля ставил одни и те же ... WINdows-1251 или KOI8R ничего не помогает ...

  • От Паша (не проверено) в 4 Фев 2007 - 23:54
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Если ничего не

Если ничего не помогает - обращайтесь к нашим экспертам

  • От admin в 6 Фев 2007 - 15:44
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

на mysqli_query($active_db,

на
mysqli_query($active_db,'SET NAMES "UTF8"');

выдаёт Warning: mysqli_query() expects parameter 1 to be mysqli, string given in /home/embedder/public_html/megajohn/myprojects/xls2php2sql-upload.php on line 24

А чего он ожидает то ?

  • От Евген (не проверено) в 7 Фев 2007 - 16:33
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Выдаёт

Выдаёт следущее Ж:(((

Fatal error: Call to undefined function: mysqli_query() in z:\home\forum\www\forum\con.php on line 18

  • От Гость (не проверено) в 14 Апр 2007 - 13:50
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Кодировка

1. Внес все как написано:

В раздел [mysqld] необходимо добавить следующее:

default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
init-connect="SET NAMES utf8"
skip-character-set-client-handshake

2. перезапустил mysql сервер.
И всё РАБОТАЕТ!!!

Спасибо ОГРОМНОЕ!!!

P.S. не забывайте перезапускать mysql сервер
На linux-е работает без строки skip-character-set-client-handshake
На Windows-e проблема была только в ней

  • От Гость (не проверено) в 27 Апр 2007 - 07:01
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Огромное

Огромное спасибо- кратко и точно!

  • От Гость (не проверено) в 7 Май 2007 - 09:39
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Вах... Работает.. под Win.

Отлично. Спокойно перешёл с 4.0.12 на 5.0.41 под WinXP. Причём даже базы (а их у меня 30штук, MyISAM и InnoDB) не пришлось дампить. Просто базы с папками (за исключением mysql) переложил в /data/. И главное не забыть переложить ibdata1 в корень /data/. Всё работает наура. Совет всем, переходить на 5-ку, вроде и работает побыстрее. У меня с 4-кой были большие проблемы с полнотекстным поиском (MATCH() AGAINST ()>X ), работал через раз, поставил 5-ку, всё как рукой сняло.

  • От Slv (не проверено) в 2 Июн 2007 - 21:21
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Спасибо

Спасибо

  • От Гость (не проверено) в 14 Июн 2007 - 20:37
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Супер!!!

Супер!!!

  • От Гость (не проверено) в 1 Июл 2007 - 14:23
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Пааасиииибааа!!!!!!

Раааботает!!!!!! Ураааа..... спасиб вам ребята - всех вас люблю =) заходите на avtozebra.ru

  • От Гость (не проверено) в 21 Июл 2007 - 11:20
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Была проблема

Была проблема на 4 версии под виндой, в пакете денвер
утилита mysql чихала на my.conf. Запускал с ключами
\usr\local\mysql4\bin>mysql -u user_name --character-sets-dir=../share/c
harsets --default-character-set=utf8 -D database < database.sql
Этот параметер обязателен
--character-sets-dir, иначае сылается на корень c:\mysql

  • От Гость (не проверено) в 30 Авг 2007 - 21:36
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Что-то не получается...

Почитал эту тему. Сделал так как тут предлагают - не работает. :( Теперь по порядку. БД создана с дефолтами utf8. Таблицы соответственно тоже. После коннекта в скрипте прописал вот это:

$this->query ( "SET NAMES 'utf8'" );
$this->query ( "SET character_set_client = 'utf8'");
$this->query ( "SET character_set_connection = 'utf8'");
$this->query ( "SET character_set_database = 'utf8'");
$this->query ( "SET character_set_results = 'utf8'");
$this->query ( "SET character_set_server = 'utf8'");

Изменяю какое-то поле в веб-приложении, нажимаю сохранить. В результате в базу пишется абракадабра и, естественно, она же и отображается.

Пример: тест

Подскажите, где я не прав и как это можно победить?

  • От Bambino (не проверено) в 2 Сен 2007 - 14:08
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Обращайтесь к

Обращайтесь к нашим экспертам

  • От admin в 13 Сен 2007 - 11:03
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Помогите пожалуйста с правами

Здравствуйте уважаемая администрация
"Сегодня мы рассмотрим, что нужно написать в конфигурационном файле /etc/my.cnf для того, чтобы настроить mysql стандартной сборки на работу с кодировкой utf8 по умолчанию без всякой перекомпиляции."

А как получить права на изменение этого файла?
Панель управления Plesk
через ssh не изменяются

  • От Alexandr в 30 Окт 2007 - 11:15
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Вам нужно иметь

Вам нужно иметь права root для изменения этого файла

  • От admin в 1 Ноя 2007 - 16:55
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Как насчет виртуального хостинга?

Огромное спасибо за информацию! Все сделал и заработало. Но как быть, если сайт размещается на виртуальном хостинге? Там же нельзя уже будет поправить конфигурационный файл.

  • От stanislavfeldman в 3 Май 2010 - 15:27
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Просить

Просить хостера

  • От admin в 18 Май 2010 - 07:39
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Вам нужно иметь

Вам нужно иметь права root

  • От irishka.lapushka в 3 Окт 2011 - 15:16
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Проект создан компанией eSupport.org.ru - администрирование выделенных серверов
Копирование информации без согласия с автором запрещено.

Ads

Последние комментарии

  • Длинношерстные
    10 недель 5 дней назад
  • С удовольствием отвечаю
    15 недель 2 часа назад
  • Вам нужно иметь
    17 недель 6 дней назад
  • Самое простое -
    27 недель 3 дня назад
  • Ты можешь
    1 год 34 недели назад
  • должно работать
    1 год 35 недель назад
  • Ни чего не
    1 год 35 недель назад
  • ssh tunnel
    1 год 35 недель назад
  • Просить
    1 год 37 недель назад
  • Для этого нужны
    1 год 37 недель назад

Сейчас на сайте

Сейчас на сайте 0 пользователей и 40 гостей.