在W3C 验证器中验证我网站的 HTML 代码时,我收到以下警告:
Line 157, Column 220: Text run is not in Unicode Normalization Form C.
…i͈̭̋ͥ̂̿̄̋̆ͣv̜̺̋̽͛̉͐̀͌̚e͖̼̱ͣ̓ͫ͆̍̄̍͘-̩̬̰̮̯͇̯͆̌ͨ́͌ṁ̸͖̹͎̱̙̱͟͡i̷̡͌͂͏̘̭̥̯̟n̏͐͌̑̄̃͘͞…
我在 PHP 5.3.x 中开发它,所以我可以使用Normalizer类。
所以,为了解决这个问题,我应该Normalizer::normalize($output)
在显示用户输入的任何输入(例如评论)时使用Normalizer::normalize($input)
,还是应该在将任何用户输入存储到数据库之前使用它?
tl;博士:我应该在将用户输入存储到数据库之前还是仅在显示时使用Unicode 规范化?