SQL失败,带有非ascii char

时间:2018-04-13 03:46:22

标签: mysql character-encoding

我有一个带有“şalom”的SQL操作,其中包含一个非ASCII字符。 声明(我在下面发布)运行完全正常:

UPDATE `myTable1` SET `description`='The topic for this learning plan starts with the \"ÅŸ\" ( sh ) letter which is a non-ASCII char. ', `topic`='ÅŸalom'' WHERE `RecID` = '1308'"

然而,在这个陈述之后,我必须再运行一个将“şalom”这个词放在另一个表中但是那个FAILS。报告的错误如下:

INSERT INTO `myTable2` (`TOPIC_Name`, `TOPIC_AddedOn`) VALUES ('[Åÿalom]', '2018-04-12'). 

最后一个SQL错误:

HY000, 1366, Incorrect string value: '\xC5\xFFalom...' for column 'Topic_Name' at row 1

我们检查了表结构和字段结构,发现它们是相同的,并且设计为接受utf-8。

我们无法弄清楚为什么一个陈述通过而另一个陈述扼杀。有任何想法吗?

1 个答案:

答案 0 :(得分:0)

ÅŸş的Mojibake。当被视为latin1时,ÅŸ是十六进制C5FF。有关“最佳实践”和“Mojibake”的讨论,请参阅Trouble with UTF-8 characters; what I see is not what I stored