Задавайте вопросы, мы ответим
Вы не зашли.
при загрузки данных на кирилице в БД выдает ошибку ERROR 1366 (HY000): Incorrect string value: '\x8C\xA0\xAA\xE1\xA8\xAC' for colum
n '......' at row 1. Порылся в инете, везьде советуют поставить 1 коировку для соединения, клиента, базы и тд... сделал все это.. а толку 0... заношу данные с смд.
Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.
C:\Documents and Settings\Admin.MAX>mysql -u root -p
Enter password: ***********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.24-rc-community MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use tsm_site;
Database changed
mysql> status;
--------------
mysql Ver 14.14 Distrib 5.1.24-rc, for Win32 (ia32)
Connection id: 3
Current database: tsm_site
Current user: root@localhost
SSL: Not in use
Using delimiter: ;
Server version: 5.1.24-rc-community MySQL Community Server (GPL)
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
TCP port: 3306
Uptime: 28 min 46 sec
Threads: 1 Questions: 19 Slow queries: 0 Opens: 17 Flush tables: 1 Open tab
les: 9 Queries per second avg: 0.11
--------------
mysql> show variables like 'char%';
+--------------------------+------------------------------+
| Variable_name | Value |
+--------------------------+------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | D:\PHP\mysql\share\charsets\ |
+--------------------------+------------------------------+
8 rows in set (0.00 sec)
mysql> describe news;
+-------+-----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-----------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | char(250) | NO | | NULL | |
| descr | char(250) | NO | | NULL | |
| cont | text | NO | | NULL | |
| dat | date | NO | | NULL | |
+-------+-----------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
mysql> insert into news (name, descr, cont, dat) values ('Максим', 'Максим',
-> 'Максим', '2000-02-01');
ERROR 1366 (HY000): Incorrect string value: '\x8C\xA0\xAA\xE1\xA8\xAC' for colum
n 'name' at row 1
Неактивен
Скорее всего, кодировка таблицы не поддерживает текущую кодировку (SHOW CREATE TABLE news). Также смущает utf8 в windows - Вы уверены, что у Вас клиент отправляет данные в utf8?
UPD: второе, наверное, даже более вероятно, учитывая количество символов в ошибке.
Неактивен
вот первый пункт:
mysql> SHOW CREATE TABLE news;
+-------+-----------------------------------------------------------------------
--------------------------------------------------------------------------------
----------------------------------------------------------------------------+
| Table | Create Table
|
+-------+-----------------------------------------------------------------------
--------------------------------------------------------------------------------
----------------------------------------------------------------------------+
| news | CREATE TABLE `news` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` char(250) NOT NULL,
`descr` char(250) NOT NULL,
`cont` text NOT NULL,
`dat` date NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+-----------------------------------------------------------------------
--------------------------------------------------------------------------------
----------------------------------------------------------------------------+
1 row in set (0.01 sec)
как проверить в какой кодировке отправляются данные?
Неактивен
да..... ср866...
Неактивен
изменил... вот что получилось:
Microsoft Windows XP [‚ҐабЁп 5.1.2600]
(‘) Љ®аЇ®а жЁп Њ ©Єа®б®дв, 1985-2001.
C:\Documents and Settings\Admin.MAX>chcp
’ҐЄгй п Є®¤®ў п бва Ёж : 866
C:\Documents and Settings\Admin.MAX>chcp 65001
Текущая кодовая сp
C:\Documents and Settings\Admin.MAX>mysql -u root -p
Enter password: ***********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.1.24-rc-community MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use tsm_site;
Database changed
mysql> status
--------------
mysql Ver 14.14 Distrib 5.1.24-rc, for Win32 (ia32)
Connection id: 6
Current database: tsm_site
Current user: root@localhost
SSL: Not in use
Using delimiter: ;
Server version: 5.1.24-rc-community MySQL Community Server (GPL)
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
TCP port: 3306
Uptime: 2 hours 36 min 16 sec
Threads: 1 Questions: 37 Slow queries: 0 Opens: 20 Flush tables: 1 Open tab
les: 0 Queries per second avg: 0.3
--------------
mysql> show variables like 'char%';
+--------------------------+------------------------------+
| Variable_name | Value |
+--------------------------+------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | D:\PHP\mysql\share\charsets\ |
+--------------------------+------------------------------+
8 rows in set (0.00 sec)
mysql> insert into news (name, descr, cont, dat) values('Max', 'Nazar', 'Student
', '2010-02-02');
Query OK, 1 row affected (0.05 sec)
mysql> select * from news;
+----+------+-------+---------+------------+
| id | name | descr | cont | dat |
+----+------+-------+---------+------------+
| 1 | Max | Nazar | Student | 2010-02-02 |
+----+------+-------+---------+------------+
1 row in set (0.00 sec)
mysql> insert into news (name, descr, cont, dat) values('Максим', 'NazarnР
ќР°Р·Р°СЂРµРЅРєРѕ', 'Сту');
Bye
вот все те каракули - это текст на кирилице...... и чето длисконектит после запроса инсерт...
Неактивен
Честно говоря, не понимаю, откуда каракули.
Надо делать как-то так:
chcp 65001
mysql -e "INSERT INTO news VALUES (NULL, 'Максим', '', '', NOW())"
mysql -e "SELECT * FROM news"
Ну или воспользуйтесь другим клиентом. Например, MySQL GUI Tools.
Неактивен
хм... а вот такое.... поставил пхпмайадмин... с него все заносится нормально в БД.... и отображается на странице все нормально... а с mysqlcc и cmd такая же ошибка выдается...
Неактивен