에서 W3C에 따라 나는 다음과 같은 경고 가지고 :정규화 유니 코드는 PHP
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; dr : 사용자 입력을 데이터베이스에 저장하기 전에 또는 표시 할 때 Unicode normalization을 사용해야합니까?
페이지에 어떤 데이터가 표시됩니까? 이는 데이터가 아닌 유효성 검사기의 문제와 유사합니다. – powtac
사용자가 합법적으로 게시 할 수있는 [this] (http://eeemo.net/)과 같은 것입니다. 그것은 굉장히 많이 보이는 윗 첨자와 아래 첨자가 많은 텍스트의 모음입니다. – federicot
흥미 롭다 : 나는 validator가 그런 종류의 chars 조합을 깨뜨렸다 고 확신한다 ... 그러나 나는 또한이 스레드를 찾았다. http://comments.gmane.org/gmane.org.w3c.validator/13243 – powtac