我要插入“@”字符的表的排序规则是拉丁语\西班牙语\ ci,如果我执行“show variables like'char%'”我就得到了这些。。。
Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database latin1
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
如何执行:
INSERT INTO `tbl002_club` (`id`, `name`, `web`, `twitter`) VALUES (1,'C.B. AL-QAZERES','http://cbal-qazeres.blogspot.com/', '@CBALQAZERES')
而不是得到这个错误。。。
错误代码:1366。字符串值不正确:'\xe2\x80\x8e@cb...'对于第1行的'twitter'列
编辑一:
语句与我一起创建表:
-- -----------------------------------------------------
-- Table `tbl002_club`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tbl002_club` ;
CREATE TABLE IF NOT EXISTS `tbl002_club` (
`id` INT(10) UNSIGNED NOT NULL,
`name` VARCHAR(100) NOT NULL,
`email` VARCHAR(100) NULL,
`twitter` VARCHAR(45) NULL,
`web` VARCHAR(45) NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_spanish_ci;
我不得不说我正在使用mysql工作台来执行所有的查询。
2条答案
按热度按时间smtd7mpg1#
(代表问题作者发帖)。
我修好了。
我在sqlfiddle中检查了我的初始查询在“@”之前有一个“funky”字符。我看不见的聊天。所以,我删除了“@”并重新编写,它就可以工作了。我有更多的查询要插入更多的行,而这些其他查询工作正常。我不知道发生了什么!
bvjveswy2#
请检查一下这把小提琴。unicode字符\u200e位于
@
字符,并在下面的查询中创建问题。