billet paru initialement le 30/10/2005

Regardez le contenu de l'URL suivante : /dc2/misc/apple/20/test.htm.

Si vous ouvrez cette URL avec un tout autre navigateur que Safari (par exemple Firefox, ou même ne serait-ce que IE), et vous constaterez que « original string » et « after replace » sont les même chaines de caractère.

A présent, ouvrez cette même URL à l'aide de Safari (version inférieure à la 2.0.4, build 419.3), et hop, le « u » est devenu un « a ». Tout ça parce que Safari a confondu le « u » avec l'un des caractères suivants :

  • \u00E0 : « à »
  • \u00E1 : « á »
  • \u00E2 : « â »
  • \u00E3 : « ã »
  • \u00E4 : « ä »
  • \u00E5 : « å »

Le problème a été repéré par David et moi même lors de la rédaction de billets sous Dotclear : si on demande la génération de l'url à la volée (lien « Essayer »), tous les « u » sont remplacés par des « a ». En revanche, cette même génération à l'enregistrement, donc passant par PHP, ne pose pas de problème.

J'ai ouvert un rapport de bug sur le Bugzilla de WebKit, c'est le numéro 5560.

Le problème a été repéré avec la version 2.0.1, build 412.5 de Safari. Avec la version 2.0.4, build 419.3, il est corrigé.