1

内部にいくつかのキリル文字列を含むストアド プロシージャがあります。列に特定の文字列が含まれている場合、char 列を含むテーブルをチェックしたいと思います。その一部はキリル文字です。問題は、これらの文字列を使用してプロシージャを作成できないことです。

SET NAMES utf8;

delimiter //
drop procedure if exists testutf8
//
create procedure testutf8()
begin
    select 'ξενοδοχια';
end
//
delimiter ;


call testutf8();

戻り値 ?????????

show create procedure testutf8;

戻り値

手順 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に変えているようです。どうすればこれを修正できますか?

4

3 に答える 3

1

?characterEncoding=utf8 をサーバーの URL に追加するとうまくいきました。

于 2013-07-16T11:06:32.260 に答える
0

使ってみて

delimiter //
drop procedure if exists testutf8
//
create procedure testutf8()
begin
   select CAST('ξενοδοχια' AS CHAR CHARACTER SET utf8);
end
//
delimiter ;
于 2013-07-15T09:34:49.633 に答える