MySql:错误的字符串值:列为 '\xC5\x9Fe'

标签 mysql sql stored-procedures utf-8

我有一个存储过程,它有一个字符串参数。当我使用包含一些特殊字符(如“ş”或“ğ”)的单词进行调用时,它返回错误代码:1366。第 1 行的“personalNames”列的字符串值不正确:“\xC5\x9Fe”。但是当我在没有这个特殊字符的情况下打电话时,一切都很好。

这是我的 sp 的一部分:

IF personalNames != '' THEN
    SET personalNames = LOWER(personalNames);
    SET @WherePart = CONCAT(@WherePart,' AND LOWER(per.Name) LIKE "%',personalNames,'%"');

你有什么建议吗?

最佳答案

我的错误在于参数。我将参数更改为 personalNames VARCHAR(200) 字符集 utf8 并解决了。

关于MySql:错误的字符串值:列为 '\xC5\x9Fe',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25640427/

相关文章:

php - 具有多个级别的相关表

mysql - 设置绑定(bind)地址后无法重启mysql

如果条件未按预期工作,MySQL AFTER DELETE 触发器

java - 使用java从sql server存储过程中检索返回值

循环中的Postgresql plpgsql存储过程更新语句

php - MySQL 通过 PHP 批量插入

java - 选择然后更新 RESULTSET 中的所有行

css - 如何在 SQL 语句中放置 div 类?

mysql - 对一个表求和,其中的列与另一个表相匹配,然后连接结果

asp.net-mvc-3 - 带有存储过程的 DDD 规范模式