|
|
|
| Добрый день!
При вставке русских данных в таблицу выдается ошибка
Data too long for column 'caption' at row 1
Латиница вставляется корректно.
Ниже привожу дамп таблицы:
CREATE TABLE `news_all` (
`id` int(11) NOT NULL auto_increment,
`caption` text character set cp1251 NOT NULL,
`content` text character set cp1251 NOT NULL,
`url` varchar(255) character set cp1251 NOT NULL default 'http://',
`showing` binary(1) NOT NULL,
`up_date` date NOT NULL default '0000-00-00',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Дамп данных таблицы `news_all`
--
INSERT INTO `news_all` (`id`, `caption`, `content`, `url`, `showing`, `up_date`) VALUES
(1, 'wq', 'qw', 'http://', 0x30, '2008-06-12'),
(2, 'd', 'd', 'http://', 0x30, '2008-06-12'); | |
|
|
|
|
|
|
|
для: nato
(26.06.2008 в 13:09)
| | Перед вставкой русских символов в таблицу выполняете запрос
| |
|
|
|
|
|
|
|
для: cheops
(27.06.2008 в 01:00)
| | Спасибо! Все заработало!
Но нужно было еще перед выбором базы данных
написать строчку
mysql_query("/*!40101 SET NAMES 'cp1251' */") or die("Error: " . mysql_error());
а потом уже
mysql_select_db("test",$db); | |
|
|
|
|
|
|
|
для: nato
(27.06.2008 в 16:44)
| | > /*!40101 SET NAMES 'cp1251' */
И зачем этот маскарад? Насчет /*!40101.
Это делается просто
mysql_query("SET NAMES 'cp1251'") | |
|
|
|
|
|
|
|
для: cheops
(27.06.2008 в 01:00)
| | В таблице у вас параметр DEFAULT CHARSET=latin1 - нужно сменить кодировку...
[поправлено модератором] | |
|
|
|