2008-10-24 6 views
1

Tous les fichiers PHP de mon espace de travail sont codés en Unicode (UTF-8, sans nomenclature). Je duplique souvent un fichier source existant pour l'utiliser comme base pour un nouveau script. Invariablement (avec Path Finder ou le Finder original), OS X va convertir le codage du fichier en double en Western (Mac OS Roman).La duplication de fichiers OS X convertit le codage de texte par défaut

Est-il possible de faire en sorte qu'OS X se comporte et ne convertisse pas le codage de texte lors de la duplication d'un fichier texte? Ou faites-le utiliser un encodage de texte spécifique (autre que Western!) Par défaut pour tous les fichiers avec l'extension .php?

Répondre

3

Je doute fortement que la "conversion" que vous voyez est une différence réelle dans les deux copies du fichier. OS X ne stocke aucune sorte de valeur d'encodage pour le contenu d'un fichier, il est donc plus probable que ce soit l'outil que vous utilisez pour afficher/éditer vos fichiers qui interprète le contenu différemment, que ce soit Xcode, TextWrangler ou autre autre éditeur que vous utilisez. Faire une copie droite du fichier, que ce soit à partir du Finder, Path Finder, ou la ligne de commande, ne changera jamais les données réelles dans le fichier en cours de copie.

UTF-8 et Mac OS Roman sont identiques si vous n'avez aucun caractère au-dessus de 0x7f, il est donc très possible qu'un fichier UTF-8 valide sans BOM puisse être interprété comme un fichier Mac OS Roman. Dans tous les cas, je regarderais dans n'importe quel programme qui vous montre l'encodage pour trouver la solution, pas la procédure de copie de fichiers d'OS X lui-même.

+0

Merci d'avoir éclairci cela! Est-ce que linux se comporte de la même manière en termes d'informations de codage de fichier texte (ne l'associant pas au contenu)? – Gilles

+0

Et en passant, c'était BBEdit et en creusant, je l'ai vu passer à Roman chaque fois qu'il "ne pouvait pas deviner" l'encodage réel du fichier. – Gilles

+0

AFAIK, aucun système d'exploitation (Linux inclus) ne prend la responsabilité de déterminer l'encodage d'un fichier texte, laissant cela à des applications individuelles à déterminer. –

1

Utilisez-vous le Finder pour copier vos fichiers ou un autre outil (un IDE)?

Il est possible que votre fichier d'origine comporte des métadonnées Finder étendues dans sa fourchette de ressources perdue lors de la copie, si vous n'utilisez pas le Finder pour le copier.

-W

2

S'il vous plaît noter qu'il ya effectivement un attribut étendu dans OS X qui stocke le codage de fichier pour les fichiers texte produits par -[NSString writeToFile:...] ou des installations similaires, qui ne dérivent pas copiés avec le fichier.

Questions connexes