Общая > РААААААААААААНД <img src='http://img.combats.com/i/forum/icon7.gif'width=15 height=15 alt=':)'/> Или кто может помочь? Нужна помощь в MySQL 5.5
(07.10.15 00:06)
Вечер добрый дорогие бкшники) Может кто помочь разобраться с этим проблемой? Версия PHP 5.4.45-0+deb7u1 MySQL Сервер: MySQL (Localhost via UNIX socket) Версия сервера: 5.5.44-0+deb7u1 Версия протокола: 10 MySQL-кодировка: UTF-8 Unicode (utf8) Веб-сервер Apache/2.2.22 (Debian) Версия MySQL-клиента: 5.5.44 PHP расширение: mysqli phpMyAdmin Информация о версии: 3.4.11.1deb2+deb7u1 Запрос от клиента не приходит т.к. кодировка исходника и база cp1251 установил на сервере локи cp1251 в my.cnf добавил некоторые параметры чтобы у других character изменился кодировка utf8 на cp1251 но никак не могу изменить эти три.. character_set_client character_set_results character_set_system там кодировка utf8 и не меняется на cp1251 в my.cnf пробовал добавить как написано в документации но не помогло..в php.ini меняю windows-1251 на utf-8 и сразу запрос от клиента идет, но на сайте все выводит козябриками я как понял причина в этих 3 параметрах..как изменить, что добавить и где в My.cnf чтобы изменился на cp1251?
(07.10.15 00:10)
я апну, но не уверен, не заблокируют ли меня за ап этого топа...)
(07.10.15 00:11)
 (07.10.15 00:10) я апну, но не уверен, не заблокируют ли меня за ап этого топа...)
Спасибо. Никакого криминала) и у Ранда думаю опыт в этом есть..)
(07.10.15 00:18)
я ничего не видел... меня не банить ))
(07.10.15 00:22)
1. Про cp1251 забыть в принципе 2. Поменять все на utf8 ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ci; ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
(07.10.15 00:23)
А и в html указать:
(07.10.15 00:24)
 (07.10.15 00:22) 1. Про cp1251 забыть в принципе 2. Поменять все на utf8 ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ci; ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Про cp1251 не могу забыть т.к. скрипт под него и написано и висит больше 500мб) Про базу тоже молчу) Да и зачем морочить голову если можно найти выход просто изменить те 3 параметры в My.cnf и дело с концом..только опыта в этом мало и хз че не меняет)
(07.10.15 00:26)
в хтексе стоит кодировка в конекте тоже прописал mysql_query("SET NAMES 'cp1251'"); mysql_query("SET CHARACTER SET 'cp1251'"); по логике после этого должен ведь запросы от клиента идти, но нет.
(07.10.15 00:31)
Забыть можно и нужно. Каким образом скрипт заточен под кодировку))? Вес скрипта никому ничего не говорит, кроме того, что если это один файл то это скорее всего плохой код. С чего ты решил что изменение этих переменных приведет к желаемому результату?
(07.10.15 00:37)
Ты когда делаешь SET NAMES 'cp1251' то меняешь все параметры кодировки и тебе незачем думать об character_set_client, character_set_results, character_set_system.
А крокозябрики скорее всего по причине того, что кодировка в html указана не windows-1251
(07.10.15 00:38)
 (07.10.15 00:31) Забыть можно и нужно. Каким образом скрипт заточен под кодировку))? Вес скрипта никому ничего не говорит, кроме того, что если это один файл то это скорее всего плохой код. С чего ты решил что изменение этих переменных приведет к желаемому результату?
НЕ посылается запрос от клиента. Потому что кодировка character_set_client который стоит Utf8 НЕ меняется на cp1251 также кодировка в которую сервер должен перевести результат перед его отправкой клиенту это character_set_results и кодировка character_set_system, в которой задаются идентификаторы MySQL. Логикой если подумать то проблема именно в этом. Ты предлагаешь мне вес скрипт преобразовать на utf-8 и бд?) Сколько времени от меня уйдет месяц, больше?) Скрипт ранее работал отлично у другого хостера. Т.е. с другим версии MySQL а тут хостер предлагает только этот выбор.
(07.10.15 00:41)
 (07.10.15 00:37) Ты когда делаешь SET NAMES 'cp1251' то меняешь все параметры кодировки и тебе незачем думать об character_set_client, character_set_results, character_set_system.А крокозябрики скорее всего по причине того, что кодировка в html указана не windows-1251
Да хоть папа римского вписать перед подключением бд) все ровно не работает пока с php.ini кодировку не меняю на utf-8 )
(07.10.15 01:00)
 (07.10.15 00:37) Ты когда делаешь SET NAMES 'cp1251' то меняешь все параметры кодировки и тебе незачем думать об character_set_client, character_set_results, character_set_system.А крокозябрики скорее всего по причине того, что кодировка в html указана не windows-1251
Если SET NAMES 'cp1251' не меняет параметры кодировки то 1 мне что нужно думать это о character_set_client ..пример все запросы вида: select * from test_id where name = 'тест' возвратит ноль строк вместо одной в которой также будет и слово 'тест' могу и о results писать, но думаю ты знаешь) так выход у меня только менять эти 3 параметры в самом конфиге Mysql то что не знаю на версии 5.5 как менять)
(07.10.15 01:02)
Кодировка к проблеме "НЕ посылается запрос от клиента." не имеет ни какого отношения. Запрос должен посылаться вне зависимости от кодировки.
(07.10.15 01:07)
 (07.10.15 01:02) Кодировка к проблеме "НЕ посылается запрос от клиента." не имеет ни какого отношения. Запрос должен посылаться вне зависимости от кодировки.
Выше написал) да и кстати для более детального..Если будет время глянь в документации раздел Connection Character Sets and Collations может ты поймешь куда и что впихнуть в My.cnf чтобы кодировка там изменился? буду весьма благодарен)) Возможно у меня опыта в этом не хватает чтобы разобраться..инфа 120% что и-за этих 3 параметров ..)))
(07.10.15 01:13)
 (07.10.15 01:02) Кодировка к проблеме "НЕ посылается запрос от клиента." не имеет ни какого отношения. Запрос должен посылаться вне зависимости от кодировки.
Чуток еще добавлю про это) character_set_client думаю знаешь что это кодировка в которой идет запрос от клиента к серверу..если мы запустим mysql -u root -p password то кодировка символов самой командной строки cp1251, а кодировка клиента(кодировка в которой идет запрос от клиента к серверу) по умолчанию utf8 и если я character_set_client не изменю на cp1251 то будет ка выше написал..
(07.10.15 01:19)
А просто select * from test_id выполняется же? В приведенном примере запрос выполняется и возвращает результат, пусть и пустой. Возмодно кодировка файла в котором написан запрос не совпадает с кодировкой базы данных или таблицы. Если думаешь копать про эти парамерты то введи в гугле "character_set_client" и пройди на форум по 3-й ссылке )
(07.10.15 01:20)
Парни созвонитесь а то уже даже я понял что все отлично работало пока непропали символы под кроказявки ))))
(07.10.15 01:21)
но я тебе говорю то же самое что и документация: A SET NAMES 'charset_name' statement is equivalent to these three statements:
SET character_set_client = charset_name; SET character_set_results = charset_name; SET character_set_connection = charset_name;
(07.10.15 01:26)
 (07.10.15 01:19) Возмодно кодировка файла в котором написан запрос не совпадает с кодировкой базы данных или таблицы. Если думаешь копать про эти парамерты то введи в гугле "character_set_client" и пройди на форум по 3-й ссылке )
Вот по по 3-й ссылке я и говорил что реально опыта не хватает разобраться в этом как изменить те 3 параметры) Прочел куча советов) но у всех ниже версии 5,5 и их советы не помогают..к примеру в ниже версиях говорится о том что достаточно в my.cnf [mysqld] добавить character_set_client=cp1251 Но тут не помогает) Нет кодировка файла и бд совпадает )
|