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

Довольно больно
Довольно больной вопрос особенно при переезде с 4.0 на 4.1+. A как быть если пользователю нужна кодировка отличная от utf8 и не лучше ли по дефолту хранить данные в базе в utf8, а отдавать в utf8?
Если пользовате
Если пользователю нужна другая кодировка, то он ее может указать явно.
Хранить данные в UTF8, а отдавать в другой кодировке - лишняя трата ресурсов на перекодировку.
utf8
Этот сайт на utf8, что произойдет с ним, если добавить эти строчки "init-connect="SET NAMES utf8"
skip-character-set-client-handshake" в конфиги mysql? Я думаю вместо русских букв появятся одни вопросы. Ошибаюсь?
Ошибаетесь, это
Ошибаетесь, этот сайт на самом деле в utf8, точнее, его база данных.
Кодировку в utf выполняет движок, это его особенность.
Ошибаетесь...
При использовании 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
Если в точности
Если в точности следовать инструкциям - вопросов небудет. Возможно Вы что-то упустили.
Установил муску
Установил мускул 5.0.18_win...yj тут нет файла my.cnf! Есть my.ini в которые я внес эти изменения - опять вопросики! Что не так
Сервер с Windows? Эт
Сервер с Windows? Эти инструкции для *nix серверов.
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
все, можно работать.
Решено... все про
Решено... все проблемы решены... если что обращайтесь... расскажу...
Проблема было в следубщем... Мускл был поставлен изначально с латин1... со старого сервера все данные залиты туда... соответственно получилось что все данные в латин1... при переходе на нормальныую русскую сп1251 возникли трудности с перекодировкой нескольких десятков ГБ БД... есть скрипт... сырой... но рабочий... по созданию бекапов для тех кто не может забекапить в правильно кодировке...
iconv в помощь
iconv в помощь
skip-character-set-client-handshake - mysqldump
в принципе
skip-character-set-client-handshake=yes
default-character-set=utf8
решает почти все проблеммы - но в ситуации когда у вас есть хосты в отличной от сз1251 кодировке пользователи не могут юзать mysqldump - потому как он кодировку устанавливает именно через client-handshake так что указание в параметрах кодировки не помогает - конечно можно "полечить" mysqldump - но ведь все затевалось только затем чтобы не компилить клиентские либы - вот такая бяка. Надо бы написать авторам чтобы кодировка указаная как параметр mysqldump устанавливалась не через "рукопожатие" а командой mysql. Но я на вражеском переписываться не умею.
что-б было все п
что-б было все правильно и не лезть в настройки 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 то ее подставить
MySQL и русская кодировка WINDOWS-1251
Зачем все эти сложности.MYSQL установлен со стандартной кодировкой latin1,стандартная установка.А базы создаются уже в какой потребуется.Раньше тоже мучался а после двух месяцев мучений нашел оптимальный вариант.И больше вопросиков не возникает.Правда все сайты а их 5 штук в локальной сети,на одном апаче и одном mysql.
Это если создав
Это если создавать, а если базы уже существуют?
re
latin1 самая неверная кодировка для национальных баз данных. В будущем будет море проблем.
Всё работает ка
Всё работает как часы
РЕСПЕКТ!!!
Очень благодарен!!!
У меня 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'");
Еще раз большое спасибо!
Спасибо, челове
Спасибо, человеку!!!
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'");
Воркает!
Спасибо, челове
БОЛЬШОЕ СПАСИБО
снова вопросики
а как быть, если дамп в 1251, а всеравно вопросики?
Кодировка дампа
Кодировка дампа должна быть равной кодировки mysql. Или переведите mysql в 1251 или дамп в нужную кодировку.
Кодировка БД
Я извиняюсь .. может я чего то упустил ... но у меня вопрос всё по той же теме ...
При заносе информации в БД у меня в самой БД высвечиваются вопросики ... и при изъятии их оттуда тоже вопросики... подскажите пожалуйста ещё раз ЧТО ДЕЛАТЬ???
Кодировки на БД и таблицы и поля ставил одни и те же ... WINdows-1251 или KOI8R ничего не помогает ...
Если ничего не
Если ничего не помогает - обращайтесь к нашим экспертам
на 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
А чего он ожидает то ?
Выдаёт
Выдаёт следущее Ж:(((
Fatal error: Call to undefined function: mysqli_query() in z:\home\forum\www\forum\con.php on line 18
Кодировка
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 проблема была только в ней
Огромное
Огромное спасибо- кратко и точно!
Вах... Работает.. под Win.
Отлично. Спокойно перешёл с 4.0.12 на 5.0.41 под WinXP. Причём даже базы (а их у меня 30штук, MyISAM и InnoDB) не пришлось дампить. Просто базы с папками (за исключением mysql) переложил в /data/. И главное не забыть переложить ibdata1 в корень /data/. Всё работает наура. Совет всем, переходить на 5-ку, вроде и работает побыстрее. У меня с 4-кой были большие проблемы с полнотекстным поиском (MATCH() AGAINST ()>X ), работал через раз, поставил 5-ку, всё как рукой сняло.
Спасибо
Спасибо
Супер!!!
Супер!!!
Пааасиииибааа!!!!!!
Раааботает!!!!!! Ураааа..... спасиб вам ребята - всех вас люблю =) заходите на avtozebra.ru
Была проблема
Была проблема на 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
Что-то не получается...
Почитал эту тему. Сделал так как тут предлагают - не работает. :( Теперь по порядку. БД создана с дефолтами 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'");
Изменяю какое-то поле в веб-приложении, нажимаю сохранить. В результате в базу пишется абракадабра и, естественно, она же и отображается.
Пример: тест
Подскажите, где я не прав и как это можно победить?
Обращайтесь к
Обращайтесь к нашим экспертам
Помогите пожалуйста с правами
Здравствуйте уважаемая администрация
"Сегодня мы рассмотрим, что нужно написать в конфигурационном файле /etc/my.cnf для того, чтобы настроить mysql стандартной сборки на работу с кодировкой utf8 по умолчанию без всякой перекомпиляции."
А как получить права на изменение этого файла?
Панель управления Plesk
через ssh не изменяются
Вам нужно иметь
Вам нужно иметь права root для изменения этого файла
Как насчет виртуального хостинга?
Огромное спасибо за информацию! Все сделал и заработало. Но как быть, если сайт размещается на виртуальном хостинге? Там же нельзя уже будет поправить конфигурационный файл.
Просить
Просить хостера
Вам нужно иметь
Вам нужно иметь права root