« Coder avec Unicode/Conversion » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 55 :
| <source lang=php>print urldecode($chaine);</source> || <source lang=html>é é $ €</source> || <source lang=html>...</source>
|}
 
{{remarque|<code>mb_convert_encoding()</code> peut être précédé d'une condition sur <code>mb_detect_encoding()</code> pour éviter un double encodage.}}
 
{{remarque|Ces valeurs fonctionnent avec des littéraux ou des champs de bases de données, mais dans le cas d'une désérialisation le symbole "€" se comporte différemment (impossible de le chercher dans un fichier texte).}}
 
{{attention|Un <code>substr('aàb', 2, 1)</code> peut donner "à" car il compte pour deux caractères, pour avoir "b" il faut utiliser <code>mb_substr('aàb', 2, 1)</code> (pour ''multi-bytes substring''<ref>http://php.net/manual/fr/function.mb-substr.php</ref>).}}
 
{{remarque|Pour traiter les caractères Unicode considérés comme invalides dans les XML et JSON, utiliser preg_replace()<ref>https://magp.ie/2011/01/06/remove-non-utf8-characters-from-string-with-php/</ref>.}}
 
=== Base de données ==
 
<source lang=php>
Ligne 83 ⟶ 93 :
}
</source>
 
{{remarque|<code>mb_convert_encoding()</code> peut être précédé d'une condition sur <code>mb_detect_encoding()</code> pour éviter un double encodage.}}
 
{{remarque|Ces valeurs fonctionnent avec des littéraux ou des champs de bases de données, mais dans le cas d'une désérialisation le symbole "€" se comporte différemment (impossible de le chercher dans un fichier texte).}}
 
{{attention|Un <code>substr('aàb', 2, 1)</code> peut donner "à" car il compte pour deux caractères, pour avoir "b" il faut utiliser <code>mb_substr('aàb', 2, 1)</code> (pour ''multi-bytes substring''<ref>http://php.net/manual/fr/function.mb-substr.php</ref>).}}
 
{{remarque|Pour traiter les caractères Unicode considérés comme invalides dans les XML et JSON, utiliser preg_replace()<ref>https://magp.ie/2011/01/06/remove-non-utf8-characters-from-string-with-php/</ref>.}}
 
== [[C]] ==