Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在Google Cloud SQL(MySQL)上存储特殊字符_Mysql_Google Cloud Sql - Fatal编程技术网

无法在Google Cloud SQL(MySQL)上存储特殊字符

无法在Google Cloud SQL(MySQL)上存储特殊字符,mysql,google-cloud-sql,Mysql,Google Cloud Sql,我有两个MySQL实例:本地和Google云SQL。使用字符集utf8mb4在两者上创建相同的数据库,运行时可以验证: show variables like "character_set_database"; 同样对于这两个数据库,我从相同的csv文件导入数据 其中一个文本列具有如下特殊字符:,如中所述,要转换DB编码,需要在数据库上编写ALTER命令 此SQL脚本对此非常有用 # Convert the DB first ALTER DATABASE <database_name&g

我有两个MySQL实例:本地和Google云SQL。使用字符集utf8mb4在两者上创建相同的数据库,运行时可以验证:

show variables like "character_set_database";
同样对于这两个数据库,我从相同的
csv
文件导入数据

其中一个文本列具有如下特殊字符:
,如中所述,要转换DB编码,需要在数据库上编写ALTER命令

此SQL脚本对此非常有用

# Convert the DB first
ALTER DATABASE <database_name> 
CHARACTER SET = utf8mb4 
COLLATE = utf8mb4_unicode_ci;
# Convert each table
ALTER TABLE <table_name> CONVERT TO 
CHARACTER SET utf8mb4 
COLLATE utf8mb4_unicode_ci;
# Convert each column
# All varchar columns should be converted to stay consistent
ALTER TABLE <table_name>
  CHANGE <varchar_col1> <varchar_col1> VARCHAR(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  CHANGE <varchar_col2> <varchar_col2> VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# Repair each table
REPAIR TABLE <table_name>
# Optimize each table
OPTIMIZE TABLE <table_name>
#首先转换数据库
改变数据库
字符集=utf8mb4
COLLATE=utf8mb4\u unicode\u ci;
#转换每个表
将表格转换为
字符集utf8mb4
校对utf8mb4_unicode_ci;
#转换每列
#应转换所有varchar列以保持一致
更改表格
更改VARCHAR(1024)字符集utf8mb4对比utf8mb4\u unicode\u ci,
更改VARCHAR(255)字符集utf8mb4对比utf8mb4\u unicode\u ci;
#修理每一张桌子
修理台
#优化每个表
优化表
在此更新之后,将云SQL实例中的
字符设置为
utf8mb4

现在重新启动您的云SQL实例,仅此而已


在进行任何更改之前,请备份您的数据

你的问题解决了吗?@Chris32是的,现在解决了!如果你能填一个答案,我会记为正确。非常感谢。