不正确的字符串值:"\xE8"表示第 1 行的列"P10">
我正在为 EMS RFID 通信制作存储过程并将数据包返回给 c# 应用程序。但它在 P10 字符上显示错误,如图像。怎么了??第一个版本是 c# 代码。我正在尝试移动到 mysql 存储过程。
请提出任何建议。
(我已经检查过字符集是utf8(
CREATE DEFINER=`root`@`localhost` FUNCTION `GetRFIDWriteCommand`(`Param1` VARCHAR(50))
RETURNS text CHARSET utf8
LANGUAGE SQL
DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT
BEGIN
DECLARE P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10 CHAR;
DECLARE TIMEOUT INT;
DECLARE RET TEXT;
SET TIMEOUT = 1000;
SET P0 = char(2); # &H2 STX
SET P1 = char(2); # &H2
SET P2 = char(0); # &H0
SET P3 = char(LENGTH(Param1) + 7);
SET P4 = char(6); # &HD #write command
SET P5 = char(0);
SET P6 = char(0); # brStart_Add
SET P7 = char(0);
SET P8 = char(LENGTH(Param1)); # brLength #length (=100)
SET P9 = char(3);
SET P10 = char(232); # <=== ERROR POINT
SET RET = CONCAT(P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,char(3));
return RET;
END
我找到了解决方案!!
char(0x00FC using ucs2)
就这样用
char(使用 ucs2 的 HexValue (
https://stackoverflow.com/a/2384387/1038996