相关疑难解决方法(0)

真的很好,坏的UTF-8示例测试数据

所以我们有XSS备忘单来测试我们的XSS过滤 - 但除了示例良性页面之外,我找不到任何恶意或格式错误的测试数据,以确保我的UTF-8代码可以处理行为不端的数据.

我在哪里可以找到一些好的呃......糟糕的数据来测试?或者什么是一个棘手的字符序列?

unicode utf-8

83
推荐指数
5
解决办法
8万
查看次数

如何处理无效UTF-8字符的用户输入?

我正在寻找关于如何处理来自用户的无效UTF-8输入的一般策略/建议.

即使我的webapp使用UTF-8,某些用户也会输入无效字符.这会导致PHP的json_encode()中的错误,并且总体来说似乎是一个坏主意.

W3C I18N常见问题解答:多语言表格说"如果收到非UTF-8数据,则应该发回错误信息.".

  • 在几十个不同的地方,可以输入数据,这究竟应该如何实际完成?
  • 如何以有用的方式向用户呈现错误?
  • 如何暂时存储和显示错误的表单数据,以便用户不会丢失所有文本?剥掉坏人物?使用替换角色,以及如何?
  • 对于数据库中的现有数据,当检测到无效的UTF-8数据时,我是否应该尝试将其转换并保存回来(如何?utf8_encode()?mb_convert_encoding()?),或者在数据库中保持原样但是做某事(什么?)在json_encode()之前?

编辑:我非常熟悉mbstring扩展,并没有问"UTF-8如何在PHP中工作".我希望那些在实际情况下有经验的人提供建议.

EDIT2:作为解决方案的一部分,我真的很想看到一种将无效字符转换为U + FFFD 的快速方法

php encoding utf-8

37
推荐指数
1
解决办法
4万
查看次数

为什么 UTF-8 中没有 5 字节和 6 字节代码点?

为什么没有 5 字节或 6 字节代码点?我知道它们直到 2003 年才被移除。但我找不到它们被删除的原因

维基百科关于UTF-8的页面说

2003年11月,UTF-8受到RFC 3629的限制,以匹配UTF-16字符编码的约束:明确禁止高低代理字符对应的代码点删除超过3%的三字节序列,并结束U+10FFFF 删除了超过 48% 的四字节序列以及所有五字节和六字节序列。

但我不明白为什么它很重要。

utf-8

5
推荐指数
1
解决办法
3237
查看次数

标签 统计

utf-8 ×3

encoding ×1

php ×1

unicode ×1