Au départ, je voulais utiliser ZendFramework2, mais la prise en charge du chinois par ZF2 est trop faible. Les caractères chinois apparaissent souvent tronqués. Je veux savoir si Symfony2 provoque souvent des caractères chinois tronqués ?
Le support chinois de Symfony 2 est très bon. Il n'y a en fait rien de spécial. Si vous pouvez suivre les bonnes pratiques, il n'y aura aucun problème.
Le premier est le jeu de caractères de PHP, SF2 utilise UTF-8 par défaut :
La configuration par défaut de la branche 2.0 (/app/config/config.yml) est UTF-8.
La branche 2.1 a simplement supprimé cet élément de configuration. Si vous ne prévoyez pas d'utiliser UTF-8, vous devez surcharger la méthode getCharset() dans AppKernel pour le spécifier.
Ensuite, il y a les jeux de caractères de diverses sources de données, telles que les bases de données relationnelles, NoSQL, les fichiers de données externes, etc. :
Si vous utilisez des bibliothèques tierces telles que Doctrine ou Propel, les paramètres correspondants de Doctrine sont UTF-8.
Si vous effectuez votre propre encapsulation d'interface de données, prenez MySQL comme exemple. Lors de la création d'une table, vous devez confirmer que le jeu de caractères de la base de données est UTF-8. Vous devez également spécifier le jeu de caractères lors de la création d'une connexion. tels que csv, etc. doivent être convertis par vous-même avant de fonctionner ; le NoSQL plus récent utilise généralement UTF-8 par défaut, alors ne vous inquiétez pas.
Afficher le calque :
Si vous écrivez tous les éléments de langue dans le modèle, vous devez vous assurer que l'encodage du fichier modèle (peut également être considéré comme un fichier de données externe) est correct.
Si vous produisez du contenu HTML ou un autre langage de balisage, vous devez également vous assurer que le jeu de caractères correct (tel que le jeu de caractères HTML) est également spécifié sémantiquement.
Si vous utilisez le module Traductions fourni avec SF2 (vous pouvez utiliser yaml, xml ou gettext), vous devez spécifier les paramètres régionaux corrects.
Pour résumer, assurez-vous que tous les fichiers de code et paramètres d'exécution sont dans le même encodage (UTF-8).
Pour garantir que les fichiers de code ont le jeu de caractères correct, les hooks VCS peuvent être utilisés pour bien le gérer. Par exemple, lors de la soumission du fichier, vérifiez le jeu de caractères du fichier (pré-validation). rejeter la soumission.
Le support chinois de Symfony 2 est très bon. Il n'y a en fait rien de spécial. Si vous pouvez suivre les bonnes pratiques, il n'y aura aucun problème.
Le premier est le jeu de caractères de PHP, SF2 utilise UTF-8 par défaut :
Ensuite, il y a les jeux de caractères de diverses sources de données, telles que les bases de données relationnelles, NoSQL, les fichiers de données externes, etc. :
Afficher le calque :
Pour résumer, assurez-vous que tous les fichiers de code et paramètres d'exécution sont dans le même encodage (UTF-8).
Pour garantir que les fichiers de code ont le jeu de caractères correct, les hooks VCS peuvent être utilisés pour bien le gérer. Par exemple, lors de la soumission du fichier, vérifiez le jeu de caractères du fichier (pré-validation). rejeter la soumission.