有一个csv文件,其中包含许多以utf-8编码的不同语言。我必须解析文件并验证无效字符。 我在下面写了一个示例程序,如图所示......
$('#datePickerId').datepicker();
如何将从文件读取的数据与无效字符进行比较?
答案 0 :(得分:0)
当if(strchr(invalidUTF8Chars.c_str(), ch) == nullptr){
printf("Invalid character\n");
}
找不到字符时,它返回一个NULL指针。您需要做的是检查返回是否为NULL指针:
function editItem(id, field_editable) {
为方便起见,此处为strchr()引用。
答案 1 :(得分:0)
UTF-8的无效字符可能意味着UTF-8编码无效且与任何字符都不对应,或者UTF-8解码会导致您不知道的字符想。
您对第二个变体感兴趣,其中每个字符都被编码为UTF-8中的一个或多个字节,特别是" \ u005E"是UTF-8中的一个字节,其他字节是2个字节。
因此,您不能拒绝示例中的单个字节,但要么需要解码为Unicode字符,要么将所有内容读作UTF-8,然后使用以下内容查找问题:
if (strstr(readFile, u8"\u00A0") != nullptr || strstr(readFile, u8"\u005E") != nullptr ... ) printf("Found bad character\n");