|
|
|
| +------------------+
| Tables_in_knopki |
+------------------+
| q |
| q2 |
| spisok |
| spisok2 |
+------------------+
4 rows in set (0.01 sec)
mysql> insert into q2 VALUES ('гЫГЫГЫ');
ERROR 1406 (22001): Data too long for column 'name' at row 1
как исправить???( в таблице поле текст в формате TINYTEXT) | |
|
|
|
|
|
|
|
для: One art galery
(26.11.2006 в 03:44)
| | Ну такую ошибку обычно получаешь, когда пытаешься запихнуть длинные данные в короткое поле.
Но мне кажется у Вас ошибка в синтаксисе.
Можно написать так:
INSERT INTO your_table_name (q2) VALUES ('гЫГЫГЫ');
|
или так:
INSERT INTO your_table_name SET q2='гЫГЫГЫ';
|
Мне больше нравится первій вариант. Т.к. редко в таблицу заносится одно поле, как правило несколько сразу, то такой вариант написания удобнее. | |
|
|
|
|
|
|
|
для: One art galery
(26.11.2006 в 03:44)
| | Проверьте конфигурационный файл my.ini, директива default-character-set должна быть только в секции [mysqld], её не должно быть в секции [mysql]. | |
|
|
|
|
|
|
|
для: cheops
(26.11.2006 в 12:08)
| | Server version: 5.1.12-beta-community-nt MySQL Community Server (GPL)
+------------------+
| Tables_in_knopki |
+------------------+
| q |
| q2 |
| spisok |
| spisok2 |
+------------------+
4 rows in set (0.68 sec)
mysql> describe q2;
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| name | tinytext | YES | | NULL | |
+-------+----------+------+-----+---------+-------+
1 row in set (1.32 sec)
mysql> insert into q2 (name) VALUES ('гыгыгы');
ERROR 1406 (22001): Data too long for column 'name' at row 1
Та же проблема...заодно прикрепляю my.ini | |
|
|
|
|
|
|
|
для: One art galery
(26.11.2006 в 14:01)
| | Неужели не кто не может помочь??? | |
|
|
|
|
|
|
|
для: One art galery
(26.11.2006 в 16:15)
| | Не уверен, но возможно поможет выполнение этих двух
запросов, перед запросами добавления и выборки данных
$query1 = "SET CHARACTER SET cp1251;";
$query2 = "SET NAMES 'cp1251'";
Также попробуйте изменить my.ini
Ваш измененный файл прилагается. | |
|
|
|
|
|
|
|
для: AlexelA
(26.11.2006 в 16:26)
| | Че за на(извиняюсь но других слов нету)
либо я чтото не понел . либо глюки с MySQL
Server version: 5.1.12-beta-community-nt MySQL Community Server (GPL)
mysql> use knopki;
Database changed
mysql> $query1 = "SET CHARACTER SET cp1251;";
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near '$quer
y1 = "SET CHARACTER SET cp1251;"' at line 1
mysql> $query2 = "SET NAMES 'cp1251'";1
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near '$quer
y2 = "SET NAMES 'cp1251'"' at line 1
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near '1' at
line 1
mysql> insert into q2 (name) VALUES ('гыгы');
ERROR 1406 (22001): Data too long for column 'name' at row 1
mysql> | |
|
|
|
|
|
|
|
для: One art galery
(26.11.2006 в 17:04)
| | Не надо возмущаться.
Просто вы дословно ввели то, что вам написали.
Попробуем по-другому, введите все, кроме угловых скобок:
<SET NAMES CP1251>
<SET CHARACTER SET CP1251>
Результат выполнения каждой из этих команд:
<Query OK.>
После успешного выполнения данных комадн, вводите свой запрос. | |
|
|
|
|
|
|
|
для: AlexelA
(26.11.2006 в 17:29)
| | ЭВРИКА(но не совсем)
наконецто добавились данные!!!
но вот беда есть скрипт выводящий из базы данных!
и как раз то что получилось ввести выводиться как вопросики(??????)
прикрепляю файл который выводит из бд! | |
|
|
|
|
|
|
|
для: One art galery
(26.11.2006 в 18:13)
| | Вы снова меня не поняли. Я же написал, "без угловых скобок"
Вводите так:
SET NAMES CP1251
SET CHARACTER SET CP1251 | |
|
|
|
|
|
|
|
для: AlexelA
(26.11.2006 в 18:22)
| | дада...до меня потом дошло что я кривой косой и не умею читать....но всетаки с третьего раза понел...так что делать с проблемой в посте выше??? | |
|
|
|
|
|
|
|
для: One art galery
(26.11.2006 в 18:28)
| | ой еще фигня... сделал select * from q2;
и там где русский текст в бд тоже "??????"
блин кто содовал mysql совсем опустили этот момент...ОТСТОЙ | |
|
|
|
|
|
|
|
для: One art galery
(26.11.2006 в 19:01)
| | неправда! мускул РУЛЕЗЗЗ ))) | |
|
|
|
|
|
|
|
для: _Dreamer_
(26.11.2006 в 19:10)
| | а чешь она не работает как надо???
(хотя и не спорю что у меня пальцы кривые...но с другой стороны покажите у кого они прямые???) | |
|
|
|
|
|
|
|
для: One art galery
(26.11.2006 в 19:13)
| | Попробуйте перед запросом вывода ввести все ту же команду
SET NAMES CP1251
Что у вас получается? | |
|
|
|
|
|
|
|
для: AlexelA
(26.11.2006 в 19:51)
| | я же прикреплял код вывода...там как раз перед выводом есть строчка:
mysql_query("SET NAMES 'cp1251'");
но не че не помогает!!! | |
|
|
|
|
|
|
|
для: One art galery
(26.11.2006 в 19:59)
| | Какая кодировка таблицы БД, из которой вы выводите данные? | |
|
|
|
|
|
|
|
для: AlexelA
(26.11.2006 в 20:20)
| | ууу...сложный вопрос...а как посмотреть??? | |
|
|
|
|
|
|
|
для: One art galery
(26.11.2006 в 21:11)
| | Легче всего будет воспользоваться любой визуальной
программой и посмотреть кодировку таблицы.
Например, можно воспользоваться скриптом phpmyadmin.
Если такой нет и лень качать, тогда забивайте запросы в командной строке.
После соединения и выбора необходимой БД введите команду:
show full column from <имя таблицы>;
После этого, сообщите, что содержится в поле "collation". | |
|
|
|
|
|
|
|
для: AlexelA
(27.11.2006 в 00:46)
| | я наверно опять нифига не понел!!!
mysql> use knopki;
Database changed
mysql> show tables;
+------------------+
| Tables_in_knopki |
+------------------+
| q |
| q2 |
| spisok |
| spisok2 |
+------------------+
4 rows in set (0.00 sec)
mysql> show full column from q2;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'colum
n from q2' at line 1
mysql> show full column from <q2>;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'colum
n from <q2>' at line 1
mysql> show full column from q2;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'colum
n from q2' at line 1
mysql> show full column * from q2;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'colum
n * from q2' at line 1
mysql> show full column from * q2;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'colum
n from * q2' at line 1
mysql>
БРЕД | |
|
|
|
|
|
|
|
для: One art galery
(27.11.2006 в 16:05)
| | Немного ошибся.
Попробуйте так:
show full columns from <имя БД>.<имя таблицы>;
Или, если БД уже выбрана, можно:
show full columns from <имя таблицы>; | |
|
|
|
|
|
|
|
для: AlexelA
(27.11.2006 в 18:16)
| | mysql> show full columns from q4;
+-------+----------+-------------------+------+-----+---------+-------+---------
------------------------+---------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileg
es | Comment |
+-------+----------+-------------------+------+-----+---------+-------+---------
------------------------+---------+
| name | tinytext | cp1251_general_ci | NO | | | | select,i
nsert,update,references | |
+-------+----------+-------------------+------+-----+---------+-------+---------
------------------------+---------+
1 row in set (0.62 sec)
mysql>
Я вбиваю данные как вы показывали сначало set names потом set character....
в бд все данные как нужно в виде русского текста!!!
но когда вывожу например слово "папа" то на странице получаю вот такой код "Ї Ї" .. ну и совсем остальным кодом тоже самое!!!
вот код вывода:
<?php
include ('config.php');
$dbname = "knopki";
if(!mysql_query("SET NAMES 'cp1251'"))
{
echo mysqlerror();
}
else{ echo "ок<br>"; }
if (!@mysql_select_db($dbname, $dbcnx))
{
exit( "<P>В настоящий момент база данных не доступна, поэтому
корректное отображение страницы невозможно.</P>" );
}
// выводим результат
$ath = mysql_query("SELECT * FROM q4");
// Проверяем успешность выполнения SQL-запроса
if(!$ath) exit(mysql_erorr());
// Определяем таблицу и заголовок
// Так как запрос может возвращать
// несколько строк, применяем цикл
while(list($name) = mysql_fetch_row($ath))
{
echo "$name - хыхыхы<br>";
}
?>
|
| |
|
|
|
|
|
|
|
для: One art galery
(27.11.2006 в 19:14)
| | Попробуйте выполнить данный запрос и сообщите результат:
SHOW VARIABLES LIKE `char%'
Заодно проверьте, стоит ли в php.ini:
default_charset = "cp1251" | |
|
|
|
|
|
|
|
для: One art galery
(27.11.2006 в 19:14)
| | Это разные кодировки странички и данных из Мускула
я решил таким способом
<?php
//Это сам запрос
$query = "select * from $dbtable
where UID=$id;";
//а тут ставим, в какой кодировке из Мускула приходят данные
mysql_query("SET CHARSET cp1251");
?>
|
| |
|
|
|
|
|
|
|
для: MIchail1982
(28.11.2006 в 12:19)
| | Странно но когда я добовляю в мускул данные через phpMyAdmin то вся кодировка нормальная, но когда той же командой в строке командной то при выводе опять абракадабра!!! | |
|
|
|
|
|
|
|
для: One art galery
(29.11.2006 в 16:20)
| | При добавлении через phpMyAdmin данные преобразуются (как мне кажется :0) ) из той кодировки, в которой phpMyAdmin в ту, на которой БД , а при добавлении "командой в строке" неменяется | |
|
|
|