如何检测格式错误的UTF字符

11 perl utf-8 character-encoding

我想在使用SQL*Loader加载数据时使用Perl脚本检测并替换格式错误的UTF-8字符和空格.我怎样才能做到这一点?

Jon*_*eet 1

编辑:(删除了有关 SQL Loader 的一些内容,因为它似乎不再相关。)

其中一个问题是确定什么算作格式错误的 UTF-8 字符的“结束”。很容易说出什么是非法的,但下一个合法字符从哪里开始可能并不明显。

  • 仅在格式正确的 UTF-8 中才容易。想象一下插入重复的前导字节 - 您将不得不跳过第一次出现的情况。如果您只是遵循 UTF-8 规则,则下一个字符似乎从前导字节重复的字符的最后一个字节开始。 (2认同)