Error Code: 1366. Incorrect string value: '\xE4\xB8\xAD\xE5\x9B\xBD...' for column 'var_pname' at row 3 0.015 sec
数据库版本: select @@version; -- 5.7.28-log
查看数据库字符集:
SHOW VARIABLES LIKE '%char%';
-------------------------------------------------
# Variable_name Value
character_sets_dir C:\Program Files\MySQL\MySQL Server 5.7\share\charsets\
character_set_system utf8
character_set_server utf8
character_set_results utf8mb4
character_set_filesystem binary
character_set_database latin1
character_set_connection utf8mb4
character_set_client utf8mb4
修改字符集
set global character_set_database=utf8
0 row(s) affected, 1 warning(s): 1681 Updating 'character_set_database' is deprecated. It will be made read-only in a future release. 0.000 sec
MySQL中的存储过程是一段被保存在数据库中的SQL代码块,可用于多个应用程序运行,具有更高的执行效率和可重用性。在存储过程中,字符集的设置是非常重要的。
在存储过程中,如果涉及到字符集的问题,应该始终使用显式的字符集声明,以保证数据的正确性和一致性。
解决方法:
--声明变量是加上字符集
DECLARE var_pname VARCHAR (200) CHARACTER SET utf8 DEFAULT NULL ;