mysql:如何插入字符“@”

jdzmm42g  于 2021-06-23  发布在  Mysql
关注(0)|答案(2)|浏览(405)

我要插入“@”字符的表的排序规则是拉丁语\西班牙语\ 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工作台来执行所有的查询。

smtd7mpg

smtd7mpg1#

(代表问题作者发帖)。
我修好了。
我在sqlfiddle中检查了我的初始查询在“@”之前有一个“funky”字符。我看不见的聊天。所以,我删除了“@”并重新编写,它就可以工作了。我有更多的查询要插入更多的行,而这些其他查询工作正常。我不知道发生了什么!

bvjveswy

bvjveswy2#

请检查一下这把小提琴。unicode字符\u200e位于 @ 字符,并在下面的查询中创建问题。

INSERT INTO `tbl002_club` (`id`, `name`, `web`, `twitter`) VALUES (1,'C.B. AL-QAZERES','http://cbal-qazeres.blogspot.com/', '‎@CBALQAZERES')

相关问题