Description:
mysql> create table `t2` (`a` text) engine=federated default charset=utf16 connection='mysql://root@127.0.0.1:3306/test/t1';
Query OK, 0 rows affected (0.00 sec)
mysql> select * from t2;
ERROR 1429 (HY000): Unable to connect to foreign data source: Variable 'character_set_client' can't be set to the value of 'ut
mysql>
Notice the error message is also truncated.
The cause is federated engine does this, which is currently not legal for utf16:
mysql_options(mysql,MYSQL_SET_CHARSET_NAME,this->table->s->table_charset->csname);
How to repeat:
drop table if exists t1,t2;
create table `t1` (`a` text) engine=innodb default charset=utf16;
create table `t2` (`a` text) engine=federated default charset=utf16 connection='mysql://root@127.0.0.1:3306/test/t1';
select * from t2;
Suggested fix:
workaround, you can set the table charset to utf8 and individual columns to utf16..