J'ai une application qui traite avec des clients de partout dans le monde, et, naturellement, je veux tout ce qui se passe dans mes bases de données pour être codé en UTF-8.
Le principal problème pour moi est que je ne sais pas ce que le codage de la source de n'importe quelle chaîne va être - c'est peut-être à partir d'une zone de texte (à l'aide d' <form accept-charset="utf-8">
n'est utile que si l'utilisateur est soumis le formulaire), ou il pourrait être téléchargés à partir d'un fichier texte, donc je n'ai pas vraiment de contrôle sur l'entrée.
J'ai besoin d'une fonction ou d'une classe qui fait que les choses qui se passent dans ma base de données est, dans la mesure du possible, codé en UTF-8. J'ai essayé d' iconv(mb_detect_encoding($text), "UTF-8", $text);
mais qui a des problèmes (si l'entrée est 'fiancée' il renvoie 'fiancé'). J'en ai essayé beaucoup de choses =/
Pour les uploads de fichier, j'aime l'idée de demander à l'utilisateur de préciser l'encodage qu'ils utilisent, et de leur montrer les aperçus de ce que la sortie va ressembler, mais ce n'aide pas contre les méchants pirates (en fait, on pourrait leur rendre la vie un peu plus facile).
J'ai lu les autres questions sur le sujet, mais ils semblent tous avoir des différences subtiles comme "j'ai besoin d'analyser les flux RSS" ou "je gratter les données de sites web" (ou, en fait, "on ne peut pas").
Mais il doit y avoir quelque chose qui au moins a un bon d'essayer!