某些系统将越南语结合重音符号编码为单独的 utf-8 字符

问题描述

我有一个越南语字符串,我想将此字符串放入 POST 查询参数。但是在不同设备上使用相同的字符串,我收到了不同的 utf-8 字符。
例如:"làm" => [108,97,204,128,109] 或 [108,195,160,109]
这个问题是因为某些系统将越南语组合重音编码为单独的 utf-8 字符
(在 abobe 示例中:'`' => 'à')
那么如何将第一个编码转换为第二个?谢谢!!

解决方法

您需要申请 Unicode Normalization。对于您所描述的版本,您可能需要 NFC,它保持规范等效性,并组合所有可以组合的内容。

如果您搜索“dart unicode normalization”,您应该会找到一些执行此操作的库。