Bonjour !

J'ai un petit souci qui commence sérieusement à m'énerver. J'espère que vous pourrez m'éclairer Smiley smile
J'utilise l'encodage UTF-8 pour un site en pseudo frame :

index.php est encodé à l'enregistrement en UTF-8 (contrôlé avec le notepad) et je déclare évidemment le charset=utf-8 dans le HTML. Jusque là, tout va bien... Le chargement du contenu de ce site se fait via les variables passées dans l'URL (?page=... etc) et l'index.php va chercher ce contenu là où je l'ai stocké, dans des fichiers se trouvant dans une arborescence de répertoires propre au site.

Mon souci : ces pages "de contenu" ne contiennent pas de charset (vu qu'elles viennent en include() dans index.php, qui lui le contient).

Quand je créé une nouvelle page, j'ai configuré DW pour qu'elles soient en UTF-8, ce qui fonctionne quand je regarde les propriétés de la page. Je l'enregistre, je la réouvre et hop... comme par miracle quand je regarde l'encodage ("brut" à l'enregistrement), il est repassé en Europe occidentale... il faut alors que j'ouvre le notepad, que je remette l'encodage en UTF-8... après c'est bon, sauf si j'acquière le fichier depuis le serveur distant (là il repasse en Europe occidentale)... je comprends rien...

J'ai ouvert un "fichier de contenu" fraîchement enregistré en UTF-8 par DW avec le notepad pour voir si c'était à l'enregistrement ou alors à la réouverture qu'il prenait cette liberté, et c'est à l'enregistrement !

En gros, il faut que j'encode au moins une fois la page avec le bloc-note en UTF-8 pour qu'ensuite ce soit bon, sauf si je l'acquière depuis le serveur... là il faut que je refasse cette manip notepad car en acquérant le fichier, il le réécrit sur le disque et change l'encodage.

Je tiens à dire que ça ne me fait ça que sur DW CS3, le MX 2004 fonctionnant parfaitement !

PS : dans Préférences > Nouveau document, le codage par défaut est UTF-8, et la coche "Utiliser cet encodage pour l'ouverture des fichiers ne spécifiant pas de codage" est elle aussi cochée.

HELP ! Smiley bawling

Merci d'avance !
swissboy
Modifié par swissboy (30 Jun 2008 - 10:48)
swissboy a écrit :
PS : dans Préférences > Nouveau document, le codage par défaut est UTF-8, et la coche "Utiliser cet encodage pour l'ouverture des fichiers ne spécifiant pas de codage" est elle aussi cochée.

Mince, j'allais te dire de vérifier ça...

Quand tu ouvres ton fichier avec Dreamweaver, s'il t'affiche «Europe occidentale» (c'est à dire ISO-8859-1) comme encodage, c'est qu'il a détecté ou estimé (à tort ou à raison) que le fichier utilise cet encodage. Donc l'enregistrement (notamment le simple Fichier > Enregistrer) se fera avec cet encodage.

Je n'ai pas touché à Dreamweaver depuis longtemps, donc je ne saurais t'en dire plus. J'utilise un éditeur de code qui gère très bien ces questions-là, donc je rencontre rarement le problème. Smiley cligne
Merci quand même pour ta réponse Smiley smile

Si tu veux, quand je choisis le codage UTF-8 et que j'enregistre le fichier, dès que je le réouvre, je vois qu'il interprète l'encodage comme de l'Europe occidentale. Comme je ne savais pas s'il l'interprétait mal ou si le fichier était réellement en ANSI, je suis donc allé voir dans le notepad. Et effectivement, le fichier était en ANSI. Je l'enregistre donc en UTF-8 depuis le notepad et quand je l'ouvre à nouveau dans DW, là il comprend que c'est de l'UTF-8, même si je le réenregistre ! Cool ! Je me disais que j'allais pouvoir bosser comme ça, mais quand j'acquière n'importe quel fichier depuis le serveur, lorsqu'il les copie en local, il me les réencode tous en ANSI...

J'ai donc abandonné car j'ai le MX 2004 encore installé et avec cette version je n'ai pas ce souci ! Et pour l'utilisation que j'en fais (100% d'affichage du code), il me va très bien. Je sais que je ne suis pas le seul dans ce cas, sur la toile il y a pas mal de messages similaires au mien. Mais pas de solutions...

Au fait je voulais te demander. Si ma base de données est en UTF-8 (et que le données y insérées sont visibles en "clair" avec les accents, etc.) et que mes pages sont elles aussi en UTF-8, est-il normal que j'ai besoin de faire ça lors de ma requête pour avoir un affichage final correct ?
mysql_query("SET NAMES 'utf8'");


Et sinon, ton éditeur de code permet aussi de faire la gestion du FTP ? Si oui, il s'appelle comment ? Smiley langue

Merci pour tout ! Smiley cligne

swissboy
swissboy a écrit :
Si ma base de données est en UTF-8 (et que le données y insérées sont visibles en "clair" avec les accents, etc.) et que mes pages sont elles aussi en UTF-8, est-il normal que j'ai besoin de faire ça lors de ma requête pour avoir un affichage final correct ?
mysql_query("SET NAMES 'utf8'");

Oui, à moins que MySQL ne soit configuré pour avoir des connexions client-serveur en UTF-8 par défaut. Ce qui est très très rare. En général, MySQL est configuré pour des connexions client-serveur en ISO-8859-1 (latin1). Si tu gardes cet encodage par défaut pour la connexion, et que tes tables sont identifiées comme étant en UTF-8, MySQL va faire la conversion de utf8 vers latin1 lorsque tu lui demanderas des données. Ce qui n'est pas une très bonne idée. Smiley cligne

swissboy a écrit :
Et sinon, ton éditeur de code permet aussi de faire la gestion du FTP ? Si oui, il s'appelle comment ? Smiley langue

Il permet d'accéder à des fichiers distants via FTP, SSH, et autres protocoles; de créer et modifier des fichiers distants; par contre ce n'est pas le même fonctionnement que le FTP dans Dreamweaver.
Mon éditeur s'appelle Komodo Edit. Son interface n'est disponible qu'en anglais, il me semble. C'est un logiciel gratuit (open-source depuis peu), très performant je trouve, et disponible pour toutes plateformes (Windows, Mac, Linux). Si tu veux savoir quels outils utilisent les différents participants à ce forum, tu peux aller voir le sujet «Quels sont vos outils de développement?» dans le Bar du forum.
Modifié par Florent V. (29 Jun 2008 - 11:21)