我试图创建一个简单的视图,但由于显示视图是使用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