当二进制字符放入XML时,如何摆脱“'',十六进制值0x11,是一个无效的字符。第1行”是XML错误吗?

时间:2011-11-28 11:04:28

标签: php character-encoding xml-parsing

当某人在文本字段中放入二进制字符时,我会收到XML解析错误。 有没有办法只用XML编码这些数据,并在有人使用时对其进行解码。

我的网站服务是使用PHP编写的

我应该在PHP中使用utf8_encode / decode方法吗?

我尝试了bin2hex(编码)然后尝试使用hexdec(解码),但它不适用于所有字符,例如,其他语言的字符集。

1 个答案:

答案 0 :(得分:0)

如果XML源格式错误,并且您的PHP安装了整齐模块(--with-tidy),则 试试这个: -

    /* src xml could be malform */
    $ops = array();
    $ops['input-xml']  =
    $ops['output-xml'] = TRUE;

    $tidy = new Tidy($source_file, $ops);
    $tidy->isXML();
    $tidy->cleanRepair();

这当然会尝试清理和修复XML中的任何错误,
这意味着在clean clean修复之后,两个XML都不再相同。