|
|
|
|
м создал я базу ка написоно в кодировке всё в одно сз1251 но выводит всёравно то шо и выводило.
Делал так :
1.Установил значение переменных спомощью
SET character_set_client=cp1251;
SET character_set_connection=cp1251;
SET character_set_database=cp1251;
SET character_set_results=cp1251;
character_set_server=cp1251;
2.Проверил установилось или нет командой: SHOW VARIABLES LIKE 'character%';
[code=auto]mysql> SHOW VARIABLES LIKE 'character%';
+--------------------------+--------------------------+
| Variable_name | Value |
+--------------------------+--------------------------+
| character_set_client | cp1251 |
| character_set_connection | cp1251 |
| character_set_database | cp1251 |
| character_set_filesystem | binary |
| character_set_results | cp1251 |
| character_set_server | cp1251 |
| character_set_system | utf8 |
| character_sets_dir | C:\MySQL\share\charsets\ |
+--------------------------+--------------------------+
|
вроде всё установилось
3.В таких настройках создаю новую бд и таблицу:
creat database aaa;
create table catalogs (
id_catalog int(11) NOT NULL auto_increment,
name tinytext NOT NULL,
PRIMARY KEY (id_catalog)
);
NSERT INTO catalogs VALUES (1, 'Процесоры');
4.Выводим в пхп всёравно выводит козюбрики результат // 1 Џа®жҐб®ал //
Вчом проблема кто знает ? Версия мускул 5.5.8 может другую установить лутше? | |
|
|
|
|
|
|
|
для: typek
(10.01.2011 в 15:02)
| | п.1 (вообще то его делают оператором SET NAMES) действует лишь на время текущего соединения.
при очередном подключении php к mysql его всегда придется делать снова.
Кстати, при подключении из-под консоли кодировка клиента и результатов = 1251 - не самое адекватное решение.
версии начиная от 4.1 и далее работают одинаково. | |
|
|
|
|
|
|
|
для: Trianon
(10.01.2011 в 15:32)
| | так и на время подключения тоже прописан
mysql_query("SET NAMES 'cp1251'"); в файле подключения бд после подключения
ничо нипомогает всеравно козюбрики выводит
1 Џа®жҐб®ал
А если меняеш на mysql_query("SET NAMES 'utf8'"); то другие козюбрики выводит
1 Џа®жҐб®ал
Я уже и незнаю как её и настроить
Вообще руские буквы каракулями выводит как ее попорядку настроить? Вроде всё прописал то шо надо
А чо оно так выдаёт вроде всё создано и настроено в одной кодеровке cp1251 из таблицы видноmysql> show variables like '%char%';
+--------------------------+--------------------------+
| Variable_name | Value |
+--------------------------+--------------------------+
| character_set_client | cp1251 |
| character_set_connection | cp1251 |
| character_set_database | cp1251 |
| character_set_filesystem | binary |
| character_set_results | cp1251 |
| character_set_server | cp1251 |
| character_set_system | utf8 |
| character_sets_dir | C:\MySQL\share\charsets\ |
+--------------------------+--------------------------+
8 rows in set (0.00 sec)
а результат никакой шо попало выводит Может еще чо прописать? | |
|
|
|
|
|
|
|
для: typek
(10.01.2011 в 16:00)
| | >так и на время подключения тоже прописан mysql_query("SET NAMES 'cp1251'");
>в файле подключения бд после подключения
>ничо нипомогает всеравно козюбрики выводит
Так может эта каша уже в таблицу записалась?
SHOW CREATE TABLE таблица;
SHOW CREATE DATABASE ИмяБД;
что выводит? | |
|
|
|
|
|
|
|
для: Trianon
(10.01.2011 в 16:09)
| | Выводит SHOW CREATE TABLE следующее
mysql> SHOW CREATE TABLE catalogs;
+----------+-------------------------------------------------------
-------------------------------------------------------------------
----------------------------------------+
| Table | Create Table
|
+----------+-------------------------------------------------------
-------------------------------------------------------------------
----------------------------------------+
| catalogs | CREATE TABLE `catalogs` (
`id_catalog` int(11) NOT NULL AUTO_INCREMENT,
`name` tinytext NOT NULL,
PRIMARY KEY (`id_catalog`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=cp1251 |
+----------+-------------------------------------------------------
-------------------------------------------------------------------
----------------------------------------+
1 row in set (0.00 sec)
а базу SHOW CREATE DATABASE
mysql> SHOW CREATE DATABASE qqq;
+----------+----------------------------------------------------------------+
| Database | Create Database |
+----------+----------------------------------------------------------------+
| qqq | CREATE DATABASE `qqq` /*!40100 DEFAULT CHARACTER SET cp1251 */ |
+----------+----------------------------------------------------------------+
1 row in set (0.00 sec)
и тута вроде всё в одной или чота нитак? Та яж эту таблицу с новыми настройками создавал кругом ср1251 прописал. Может мускл глючный версия последняя 5.5.8
Мучаюсь уже второй день | |
|
|
|
|
|
|
|
для: typek
(10.01.2011 в 16:18)
| | Вы всегда отвечаете только на половину вопросов? | |
|
|
|
|
|
|
|
для: Trianon
(10.01.2011 в 16:31)
| | там вроде на все вопросы отвечено | |
|
|
|
|
|
|
|
для: typek
(10.01.2011 в 16:32)
| | Так может эта каша уже в таблицу записалась?
С настройками у Вас всё нормально.
А в таблице - ерунда.
Ерунда туда попала тогда, когда был выполнен оператор INSERT.
Выполнен он был после неправильного SET NAMES - очевидно из-под консоли, а не из-под php.
Вы вообще другим клиентом в таблицу заглядывали?
phpMyAdmin'ом например? | |
|
|
|
|
|
|
|
для: typek
(10.01.2011 в 16:00)
| | Вы кодировку консоли меняли? Выполните команду chcp - какой номер кодировки у консоли? Если 866, то измените на 1251 при помощи команды
| |
|
|
|
|
|
|
|
для: cheops
(10.01.2011 в 16:32)
| | а конкретней в консоле прописать: сhcp; так оно ошибку выдает
непрописывается чота или я её нитам прописываю? | |
|
|
|
|
|
|
|
для: typek
(10.01.2011 в 16:35)
| | Из mysql выйдите, команды Windows нужно вводить до того, как вы войдите в клиент mysql. | |
|
|
|
|
|
|
|
для: cheops
(10.01.2011 в 16:37)
| | была кодировка 866
изменил на chcp 1251 - тока сталы буквы в кансоли каракулями? | |
|
|
|
|
|
|
|
для: typek
(10.01.2011 в 16:44)
| | В свойствах консоли выберите вместо точечных шрифтов Lucida Console, точечные шрифты не поддерживают Win-1251. | |
|
|
|
|
|
|
|
для: cheops
(10.01.2011 в 16:48)
| | выбрал стало нопмально показывать шрифт а дальше шо? Попробовать заново таблицу создать? | |
|
|
|
|
|
|
|
для: typek
(10.01.2011 в 16:58)
| | Да, создавайте, выполняйте SET NAMES, заполняйте при помощи INSERT, затем выводите при помощи SELECT. | |
|
|
|
|
|
|
|
для: cheops
(10.01.2011 в 17:00)
| | УРА !!!! Всё заработало так как нада, помогло
СПАСИБО ЗА ДЕЛЬНЫЙ СОВЕТ
Чо тока неперепробовал и переустанавливал и раз десять кодеровку баз менял . И на форума инфы пересмотрел. Там то написано много тока мало шо понятно. Времени 2 дня впустую потратил. Один плюс шо кодировки чуть чуть разобрал. | |
|
|
|