Incorrect string value: '\xE2\x80\x94 5 ...' for column 'f_string' at row 25
这是网上搜索到的,一个方法函数,实现了 split的功能,很奇怪,开始的时候直接操作表格字段的时候是成功的.
后来在触发器调用传入变量的时候出现了上述错误.
不解 一头雾水~~~~~CREATE DEFINER=`root`@`%` FUNCTION `func_get_split_string`(
f_string varchar(1000),f_delimiter varchar(5),f_order int) RETURNS varchar(255) CHARSET utf8
BEGIN
declare result varchar(255) default '';
set result = reverse(substring_index(reverse(substring_index(f_string,f_delimiter,f_order)),f_delimiter,1));
return result;
END$$DELIMITER ;
这是网上搜索到的,一个方法函数,实现了 split的功能,很奇怪,开始的时候直接操作表格字段的时候是成功的.
后来在触发器调用传入变量的时候出现了上述错误.
不解 一头雾水~~~~~CREATE DEFINER=`root`@`%` FUNCTION `func_get_split_string`(
f_string varchar(1000),f_delimiter varchar(5),f_order int) RETURNS varchar(255) CHARSET utf8
BEGIN
declare result varchar(255) default '';
set result = reverse(substring_index(reverse(substring_index(f_string,f_delimiter,f_order)),f_delimiter,1));
return result;
END$$DELIMITER ;
出发器中是这样调用的
set result=substring_index(substring_index(f_string,f_delimiter,f_order),f_delimiter,-1);
@i 是个累加变量,
set @xstr1 = func_get_split_string(@tmp," ‖ ",@i+1);
在while 循环中.
f_string ="A1-18-05 — 5 — 2 ‖ A1-18-05 — 5 — 2"
f_delimi =" ‖ "
f_order = 1
是 智能ABC v1 第二列 第一个 字符.
之前的错误没了 但是变成了这个.昏倒
bupin 是我正在操作的表名
调好后 就又回到最初的编码问题了 晕~~~~~其他信息: Illegal mix of collations (utf8_general_ci,COERCIBLE) and (gb2312_chinese_ci,IMPLICIT) for operation '='