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

2023-12-21

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

show variables like "character_set_database";

同样对于这两个数据库,我从同一个数据库导入数据csv file.

其中一个文本列具有如下特殊字符:????⌛???? ABC。当我的网页从本地实例检索时,它可以正常显示,但是当我切换到从 Google Cloud 实例检索数据时,我得到了?⌛? ABC。我该如何解决这个问题?


如中所述这个帖子 https://medium.com/google-cloud/enable-full-unicode-in-mysql-on-google-cloud-aaa2635486d6为了转换数据库编码,您需要在数据库上编写 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>

此次更新后character_set_server flag https://cloud.google.com/sql/docs/mysql/flags在您的 Cloud SQL 实例中utf8mb4

现在重新启动您的 Cloud SQL 实例即可

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在 Google Cloud SQL (MySQL) 上存储特殊字符 的相关文章

随机推荐

  • lock语句如何确保处理器内同步?

    我有一个同时执行两个线程的小型测试应用程序 1 增加 astatic long value 另一个则递减它 我已经保证ProcessThread ProcessorAffinity线程与不同的物理 无 HT 核心关联以强制处理器内通信 并且
  • 如何向 Facet_Grid 条带标签添加希腊字母?

    我使用创建了下面的图facet grid并使用过labeller参数将 p 和 mu 2 标签添加到网格周围的灰色条带 我想用带有下标 2 的希腊字母 mu 替换我用红色矩形表示的 mu 2 标签 如果有人可以帮助我 我将不胜感激 如果需要
  • 为什么在 Linux 内核中忙于循环时,进程会被长时间剥夺 CPU 资源?

    乍一看 我的问题可能看起来有点微不足道 请耐心阅读并完整阅读 我在我的 Linux 内核模块中发现了一个繁忙的循环 因此 其他进程 例如 sshd 在很长一段时间内 例如 20 秒 无法获得 CPU 时间 这是可以理解的 因为我的机器只有一
  • 如何按给定索引处的项目过滤元组列表并将其转换为列表字典

    我有一个如下所示的列表 Lista amazon Amazon 1 0 amazon Alexa 0 8 amazon microsoft 0 6 amazon Amazon Pay 0 7 amazon Prime 0 4 alien j
  • Node.js:process.env 与全局有何不同?

    如何设置环境变量process env thing 42与创建全局变量不同global thing 42 什么时候更愿意process env thing over global 这两个对象的优点 缺点是什么 global是全局对象 pro
  • 颤动错误:类型“_Smi”不是类型“double”的子类型

    我使用 flutter 1 0 开发了一个应用程序 该应用程序在大多数 Android 和 iOS 手机上运行良好 但我发现有一部Android手机和一部iPhone无法打开该应用程序 只显示错误消息 类型 Smi 不是类型 double
  • 车把,加载外部模板文件

    我的目标是将所有 Handlebars 模板放在一个文件夹中 如下所示 templates products hbs templates comments hbs 我通过粗略的 Google 搜索在几个地方找到了这个片段 它显然会加载到外部
  • 忽略 Mercurial 中文件的未来更改,但仍然跟踪它[重复]

    这个问题在这里已经有答案了 可能的重复 Mercurial 如何忽略对跟踪文件的更改 https stackoverflow com questions 2856571 mercurial how to ignore changes to
  • IE 在打印时删除网页的颜色

    你好 我有一个网站 其背景颜色在打印时很重要 但 IE 会删除页面中的所有颜色 我知道有一些设置可以在 IE 上禁用此选项 但我不能依赖用户进入 IE 设置来禁用 IE 上的此选项 有什么方法可以从我的网页或其他方式禁用此功能吗 提前致谢
  • 在javascript中显示明天的名字?

    我试图在我们的电子商务网站上输出类似于以下内容的内容 Order by 5pm today for dispatch on Monday 显然 星期一 一词将被第二天的名称取代 最好是下一个工作日 即不是星期六或星期日 我有以下简单的 ja
  • Promise 函数延迟状态变量

    如何立即正确地存储 Promise 函数的值 我正在尝试使用 useEffect 挂钩 但我的状态仍然延迟 这是有问题的 因为如果用户正在验证他的购物车 则可能会应用错误的税 useEffect gt SalesTax getSalesTa
  • JavaScript。 Math.sqrt 将 NaN 赋予正数?

    我目前有一个脚本 可以从文本区域获取数字并用它们进行各种计算 我的标准差函数遇到问题 因为即使它的类型是数字 并且它是正数 56 它也不会输出该值 当我运行这段代码时 var variance findVariance array vari
  • Java 类中的 Grails @Autowire 不起作用

    我有一些 Java 代码 我想将它们转换为 Bean 可以通过依赖注入在 Grails 控制器和服务中使用 代码是基于这个here https spring io guides gs accessing data neo4j 作为独立的 J
  • 在 GridView 组件中显示多个图像时 Android 应用程序崩溃

    我对这个网站相当陌生 我来这里是因为我在其他地方找不到这个答案 所以我想看看是否可以获得一些帮助 我的项目中有一个 GridView 以及一个图像适配器 我需要以下代码的帮助 package com humanoid sigma impor
  • 在 Swift 中使用 @discardableResult 进行闭包

    斯威夫特 3 有介绍 https github com apple swift evolution blob master proposals 0047 nonvoid warn md the discardableResult函数的注释可
  • 如何在 SvelteKit 应用程序启动时执行代码

    我正在开发一个基于 SvelteKit 的应用程序 在服务器启动时 无论是在开发服务器启动 Node js 适配器启动时 我想执行一些诊断命令 此类操作的一个示例是对后端服务器执行 ping 操作 如果后端无法访问 则会提前失败 这主要是服
  • 如何获取已加载的 JNI 库的列表?

    正如主题所说 Java 中有没有一种方法可以获取在任何给定时间加载的所有 JNI 本机库的列表 免责声明 请注意 这个解决方案总是很hackish 现在在大多数情况下将不再起作用 查看本杰明的回答 https stackoverflow c
  • 使用 Java SDK、连接模式访问 Azure 服务总线

    有几个使用 C 配置服务总线环境以使用 http https 的示例 使用以下调用 ServiceBusEnvironment SystemConnectivity Mode ConnectivityMode Http 我的问题是 可以以及
  • 我如何设计一个数据库,用户可以在其中定义 M-D 关系中的详细表的字段和类型?

    我的应用程序有一个名为 events 的表 每个事件在 eventdata 表中都有大约 30 个标准字段 而且还有可以是任何名称或类型的用户定义字段 用户可以通过指定 x 个字段 文本 双精度 日期时间 布尔值 以及这些字段的名称来定义这
  • 无法在 Google Cloud SQL (MySQL) 上存储特殊字符

    我有两个 MySQL 实例 本地实例和 Google Cloud SQL 实例 使用字符集在两者上创建相同的数据库utf8mb4 当我运行时可以验证 show variables like character set database 同样