【发布时间】:2019-03-31 01:34:34
【问题描述】:
我正在尝试将数据从编码为 utf-8(特别是 utf8mb4_unicode_520_ci)的 MySQL 表移动到 Firestore。我正在使用 Golang 的 Firestore 库和 sqlx。大多数或每个带有重音字符的单词都会失败,例如 müller、évident 等。返回的错误如下:
rpc 错误:代码 = 内部 desc = grpc:编组时出错:proto: 字段“google.firestore.v1.Value.ValueType”包含无效的 UTF-8
我可以使用基于浏览器的界面手动将重音字符输入 Firestore,所以我猜问题出在 Golang 库上。是否有任何解决方法可以保留重音字符?
【问题讨论】:
-
Firestore 绝对能够保存重音字符,因此很可能在此过程中某处出现问题。您能否更新您的问题以包含重现问题所需的最少独立代码?
-
感谢您的建议。我去寻找一种提供独立代码的方法,却发现我编写的单词标记化函数正在破坏重音字符。将字符串转换为符文就解决了这个问题。
-
@Brent 如果你解决了问题,那么你可以用解决方案回答你自己的问题。
-
很高兴听到您发现了问题。这是creating an MCVE 的神奇副作用之一:您在这样做时经常会发现问题。您可以(正如 Doug 还问的那样)发布您的解决方案作为答案吗?这样,其他人可能会从您的经验中受益。否则,我将投票结束这个问题作为一个时间问题/错字。