使用字符集latin1创建的Mysql VIEW所有配置都设置为utf8

时间:2018-09-13 10:22:37

标签: mysql encoding collation

我试图创建一个简单的视图,但由于显示视图是使用latin1而不是utf8创建的,因此出现错误。

视图如下所示:

create or replace view
  my_view
  as
    select * from my_table
  group by some_field
collate utf8_unicode_ci
;

错误,我得到的是:

COLLATION 'utf8_unicode_ci' is not valid for CHARACTER SET 'latin1'

我所做的是检查多个配置选项:

全局

show variables like "%char%";
character_set_client,utf8
character_set_connection,utf8
character_set_database,utf8
character_set_filesystem,binary
character_set_results,utf8
character_set_server,utf8
character_set_system,utf8

:我用来创建视图:

SELECT TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, TABLE_COLLATION
FROM INFORMATION_SCHEMA.TABLES
where TABLE_NAME in ('my_table');
;
def,my_database,my_table,utf8_unicode_ci
该表的

SELECT TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLLATION_NAME
FROM INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME in ('my_table');
def,my_database,my_table,id,null
def,my_database,my_table,active,null
def,my_database,my_table,title,utf8_unicode_ci

0 个答案:

没有答案