我有一个存储过程,它有一个字符串参数。当我使用包含“ş”或“ğ”等特殊字符的单词调用时,它会返回Error Code: 1366. Incorrect string value: '\xC5\x9Fe' for column 'personalNames' at row 1 . But when I call with without this special chars everything is ok.
这是我的sp的一部分:
IF personalNames != '' THEN
SET personalNames = LOWER(personalNames);
SET @WherePart = CONCAT(@WherePart,' AND LOWER(per.Name) LIKE "%',personalNames,'%"');
你有什么建议吗?
答案 0 :(得分:0)
问题出在数据库的charset中。将其更改为UTF-8。如果启动mysql-Server,可以在命令行上完成。 参数是:
--default-character-set=UTF8
此致 马克
答案 1 :(得分:0)
我的错误在于参数。我将参数更改为personalNames VARCHAR(200) character set utf8
并解决了。