web-dev-qa-db-fra.com

Qu'est-ce que l'encodage de fichier WordPress?

J'ai remarqué que les fichiers WordPress utilisent des fins de ligne UNIX et UTF-8 sans nomenclature. Est-ce une norme à utiliser? Y at-il autre chose à faire attention?

J'ai remarqué que Filezilla ne parvient pas à transférer correctement les fichiers de fin de ligne Macintosh vers des serveurs Windows ou Linux. Les nouvelles fins de ligne sont manquantes. Et parfois, ils sont doublés avec une configuration différente. J'aimerais éviter cela si possible.

2
Paul

Les fins de ligne UNIX (\n) et UTF-8 ne sont que des normes de code courantes. Autant que je sache, ils ne sont même pas mentionnés dans le Normes de codage . La plupart (tous?) Des fichiers de base PHP sont tout simplement US-ASCII. Essayez de suivre ce chemin pour garder vos fichiers aussi compatibles que possible.

Si vous utilisez UTF-8, ajoutez une ligne au début d'un fichier PHP avec uncookie d'encodage ou variable de fichier :

<?php # -*- coding: utf-8 -*-

De nombreux éditeurs (Emacs, Vim, Sublime, Scite) l'utiliseront pour définir le bon encodage automatiquement.

J'ai aussi vu:

<?php # -*- coding: utf-8-unix -*-

Mais je ne suis pas sûr de sa compatibilité.

3
fuxia

PHP lui-même ne se soucie pas de savoir si vous utilisez des fins de ligne de style DOS ou UNIX dans les sections de code PHP, car il ignore tout simplement les espaces, de sorte que les deux sont ignorés.

Les interprètes PHP ne connaissent pas l'existence de marques d'ordre d'octet dans les fichiers. Par conséquent, le fait d'avoir une nomenclature au début du fichier PHP entraîne la sortie de cette nomenclature lorsque le fichier PHP est exécuté. Cela est souvent indésirable et les PHP fichiers ne peuvent généralement pas contenir de nomenclature.

Les fichiers PHP ne s’intéressent pas à l’encodage, ils produisent simplement une sortie telle que donnée dans la plupart des cas. Ainsi, tout ce qui est en dehors des sections PHP peut être plus ou moins important, y compris une sortie binaire directe pour tout PHP se soucie. Pour une compatibilité et une portabilité maximales, UTF-8 sans nomenclature est recommandé.

WordPress utilise des fins de ligne de style Unix par préférence, cependant, les soumissions au référentiel de plug-in ne sont pas vérifiées pour l'un ou l'autre style. Utilisez ce que vous voulez. Les soumissions au référentiel de thèmes sont vérifiées pour rechercher des fins de ligne mixtes, ce qui signifie un fichier contenant à la fois des fins de ligne de style Unix et DOS. Cela se produit souvent lors du copier-coller de code à l'aide de certains éditeurs Mac. Ces terminaisons de ligne mixtes peuvent poser des problèmes dans les référentiels Subversion, de sorte que le programme de téléchargement de thème refuse les fichiers comportant des terminaisons de ligne mixtes. Les auteurs de plug-in, ayant un accès direct à leurs référentiels SVN, recevront des échecs similaires de SVN lors du téléchargement de fichiers mélangés eux-mêmes.

2
Otto