slach
Новичок
MySQL 4.1.x,utf8, INSERT INTO BLOB, ошибки при наличии 8bit символов
Имею такую табличку
[sql]
CREATE TABLE `T_GPR_PROJECT_SOURCE` (
`source` int(11) NOT NULL auto_increment,
`project_fk` int(11) NOT NULL default '0',
`text` blob NOT NULL,
`success` tinyint(1) default NULL,
`created` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`source`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
[/sql]
при коннекте ставлю
SET NAMES utf8
все прекрасно работало
пока не стал получать данные из НЕКОНТРОЛИРУЕМОГО источника (STDIN
при вставке в поле text
8bit cимволов
MYSQL ругается на первом же 8 bit символе
Invalid utf8 character string:
исходную кодировку не могу знать, она может быть любая
вопрос
как лечить??
убрать DEFAULT CHARSET=utf8??
в дальнейшем планируется изменение структуры и добавление полей типа CHAR не хотелось бы для них задавать charset отдельно
или есть какая то возможность задать что то вроде
BINARY BLOB ???
или
BINARY LONGTEXT ???
Имею такую табличку
[sql]
CREATE TABLE `T_GPR_PROJECT_SOURCE` (
`source` int(11) NOT NULL auto_increment,
`project_fk` int(11) NOT NULL default '0',
`text` blob NOT NULL,
`success` tinyint(1) default NULL,
`created` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`source`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
[/sql]
при коннекте ставлю
SET NAMES utf8
все прекрасно работало
пока не стал получать данные из НЕКОНТРОЛИРУЕМОГО источника (STDIN
при вставке в поле text
8bit cимволов
MYSQL ругается на первом же 8 bit символе
Invalid utf8 character string:
исходную кодировку не могу знать, она может быть любая
вопрос
как лечить??
убрать DEFAULT CHARSET=utf8??
в дальнейшем планируется изменение структуры и добавление полей типа CHAR не хотелось бы для них задавать charset отдельно
или есть какая то возможность задать что то вроде
BINARY BLOB ???
или
BINARY LONGTEXT ???