微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Google Sheets API 阅读带有阿拉伯语文本的单元格时,感叹号从结尾移动到开头

如何解决使用 Google Sheets API 阅读带有阿拉伯语文本的单元格时,感叹号从结尾移动到开头

我正在使用 Google Sheets API 将包含阿拉伯语文本的单元格导出到 JSON 文件。当单元格包含在句子末尾带有感叹号的文本时(因此在 RTL cell 中文本的左侧),它会切换 API 响应中的位置并以右侧结束(不正​​确)在我生成的 JSON 输出中:

  "levelSelect:titleOne": "قاوم الطعام غير الصحي!"

词序是正确的,但我希望感叹号在左边第三个双引号之后,而不是在第四个之前。标点符号在 Google 表格原始单元格中的位置正确:

enter image description here

所以所有的 Unicode RTL 字符都按照原来的顺序回来了,但是一个非 Unicode 字符(感叹号)已经换了位置。

我使用 higher level library 查询 Google 表格,但即使我发出直接 API 请求(使用 OAuth playground),我也会得到相同的输出(FWIW,它使用 {{1 }} 在 charset=utf-8 标头中)。在我将响应写入文件之前,顺序已经错误

在这一点上,我不确定这是否是 Google Sheets API 中的错误,或者我不明白应该如何处理阿拉伯文本的一些基本问题。似乎没有什么神奇的“在正确的位置使用非 Unicode 字符格式化这个主要是 Unicode 字符串的格式”转换功能

我知道在不同来源之间存在复制和粘贴问题,当您从剪贴板粘贴带有格式的文本时可能会发生这种情况。如果我用 Cmd-C(在 Mac 上)复制单元格,然后只用 Cmd-V 将它粘贴到某些地方,我会得到相反的顺序,如果我使用 Shift-Cmd-V,我会得到正确的顺序感叹号。就好像 API 发送的内容在这里对发送的格式感到困惑。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。