我正在寻找一个 php函数或库或建议,它可以在客户复制和验证时验证损坏的表单输入值。粘贴破坏的utf8字符串。
情景:
所以在服务器端,我收到“正确”的有效utf8值。
有没有办法捕捉到这一点我怎么能抓住它并显示错误信息?
测试示例:
答案 0 :(得分:0)
首先,UTF-8
字符串不能被破坏。该字符串可以具有非utf-8字符,这使得它看起来像是“已损坏”,而它只是一种不同的编码。
PHP有一个函数来检查给定字符串使用的编码类型:
string mb_detect_encoding ( string $str [, mixed $encoding_list = mb_detect_order() [, bool $strict = false ]] )
来源:http://php.net/manual/en/function.mb-detect-encoding.php。
但它只检查给定字符串的编码类型,因此您只能检查是否使用了正确的编码。
希望这会有所帮助。
答案 1 :(得分:0)
因为没有通用的方法来确定值是否错误,我最终匹配regexp [A-Za-z0-9 \ - 。,]并向用户显示警告消息(如果不匹配)。
(由@soheyl建议)