2

我正在使用这个加拿大邮政编码集合。令我失望的是,许多法语名称被错误编码,因此“Trois-Rivières”显示为“Trois-Rivi�Res”等等。这似乎是数据库本身的错误,而不是我的文本编辑器/浏览器的错误。

有没有办法正确编码这些重音标记?它们太多了,无法手动查找和替换。

4

2 回答 2

1

这些词似乎包含那个替换问号,'\uFFFD'。这意味着数据丢失,但也是查找这些值的简单标记。

用错误的字符串作为主键创建一个表。修复可能比想象的要容易。在示例中,R在 qm 而不是之后的大写r可能源于单词大写。i?r很有可能i e-gauche r

然后进行正则表达式替换即可。

但是,重新导入更正的数据库转储可能更容易。修复不需要在 SQL 中。

于 2022-01-13T18:51:19.360 回答
0

在 php 中,您可以使用以下内容从 ascii(拉丁 1)编码文本重新映射到 utf8。

$str = mb_convert_encoding($str,'ISO-8859-1', 'UTF-8');
于 2022-01-13T18:19:11.577 回答