小编Cle*_*nte的帖子

使用 utf8 字符串创建存储过程

我有一个包含一些 Cyrillic 字符串的存储过程。如果列包含一些特定的字符串,其中一些是西里尔文,我想检查一个带有 char 列的表。问题似乎是我无法使用这些字符串创建程序。

SET NAMES utf8;

delimiter //
drop procedure if exists testutf8
//
create procedure testutf8()
begin
    select '?????????';
end
//
delimiter ;


call testutf8();
Run Code Online (Sandbox Code Playgroud)

退货??????

show create procedure testutf8;
Run Code Online (Sandbox Code Playgroud)

返回

程序 testutf8

sql_mode STRICT_TRANS_TABLES

创建程序“CREATE DEFINER= xxx@ %PROCEDURE testutf8() begin select '?????????'; end”

character_set_client utf8

collat​​ion_connection utf8_general_ci

数据库整理 latin1_swedish_ci

所以尽管我使用 SET NAMES UTF8; 服务器似乎将我的代码转换为 latin1。我怎样才能解决这个问题?

mysql stored-procedures utf-8

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

mysql ×1

stored-procedures ×1

utf-8 ×1