Combining diacritics

HTTP Header charset: UTF-8
Meta tag charset:
ò (C3 B2) è una sequenza di 2 byte, una stringa di 1 caratteri
ò (6F CC 80) è una sequenza di 3 byte, una stringa di 2 caratteri
ồ (E1 BB 93) è una sequenza di 3 byte, una stringa di 1 caratteri
ồ (C3 B4 CC 80) è una sequenza di 4 byte, una stringa di 2 caratteri
ồ (6F CC 82 CC 80) è una sequenza di 5 byte, una stringa di 3 caratteri
  1. <?
  2. mb_language("uni");
  3.  
  4. $o = array();
  5.  
  6. // o accentata grave precomposta
  7. $o[0] = "ò";
  8.  
  9. // o accentata con combining diacric
  10. $o[1] = "o\xCC\x80";
  11.  
  12. // o con accento circonflesso e accento grave precomposta
  13. $o[2] = "ồ";
  14.  
  15. // o con accento circonflesso precomposta e combining diacric accento grave
  16. $o[3] = \xCC\x80";
  17.  
  18. // o con con due combining diacric: accento circonflesso e accento grave
  19. $o[4] = "o\xCC\x82\xCC\x80";
  20.  
  21. foreach ($o as $char) {
  22. $repr = strtoupper(bin2hex($char));
  23. preg_match_all("/[0-9A-F]{2}/",$repr,$bytes);
  24. $repr = join(" ",$bytes[0]);
  25. echo "$char ($repr) è una sequenza di " . strlen($char) . " byte, ";
  26. echo "una stringa di " . mb_strlen($char)." caratteri";
  27. echo "<br/>";
  28. }
  29.  
  30. ?>
© 2012-2025 — Maurizio ManettiCorso charset e Web i18n