Bonjour à tous.
Après 2 jours de lectures sur le forum et sur le tuto, je me suis décidé de convertir mon site à l'UTF-8. Aventure à en perdre son latin. Il y a 2 jours je ne connaissais rien sur le sujet.
J'ai essayé de suivre les différents conseils qui sont donnés sur ce site.
J'ai l'impression que j'ai réussi non sans mal à m'en sortir mais seulement j'ai tout de même quelques questions à savoir déjà si j'ai pas loupé un épisode.

An niveau manips j'en suis là :
- Ma base de donnée est normalement en UTF-8 :
-> interclassement pour la connexion MySQL : utf8_general_ci
-> Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)
-> Mes tables sont en utf8_general_ci (suite à ALTER Table + champs modifiés manuellement)

- Charset déclaré dans mes documents :
<meta charset="utf-8">


- Pages toutes converties en UTF-8, sauf quelques une qui refusent de se mettre en UTF-8, notamment des include.php. Quand je les réouvrent, elles sont en ANSI (notepad++).

- A chaque connexion de base :
mysql_query("SET NAMES UTF8");


Apparemment je suis ok partout et d'après mes tests, je n'ai pas d'affichage bizarre, ce qui me fait penser que je suis pas trop mal. Qu'en pensez-vous ?

Là par contre où je commence à m'interroger...
La version actuelle en ligne de mon site est en ISO-8859-1, ma BDD a toujours été définie comme je l'ai indiqué plus haut. Lorsque j'envoyais des informations via un formulaire dans des tables latin, les accents étaient gérés comme ceci dans les différents champs : "é". Je n'ai jamais eu de soucis d'affichage en ISO-8859-1, les accents apparaissaient correctement.
Ces tables qui étaient gérées avant en latin sont maintenant, suite à mes manips, en utf8_general_ci. Les accents (ex: "é") sont toujours bien présent.

Etant donné que ma BDD était en UTF-8 dès le début, je pense que phpmyadmin traitait mes données à la volée et intégrait bien les accents même si mes champs étaient en latin.
Par contre maintenant que ces champs sont en utf8_general_ci, mon site est toujours en ISO, je m'attendais donc à avoir des soucis d'affichage sur les accents. BDD en utf, site et pages en iso-8859-1 et il n'en est rien. Aucun soucis d'affichage, c'est là que j'en perds mon latin...

Je pensais avoir compris quelques trucs mais ce résultat me déroute quelque peu.
Je sais même pas du coup si ce que j'ai fait au niveau de ma conversion vers l'UTF-8 est correcte. Bref j'ai peut être rien compris finalement Smiley lol

J'espère avoir été à peu près clair et vous remercie d'avance de vos futures réponses.
Je lance ma nouvelle version samedi, j'espère ne pas avoir de mauvaises surprises Smiley rolleyes
Modifié par PhilouMinety (02 Sep 2012 - 00:51)
Bonjour,
Juste pour illustrer mes propos avec un petit test que j'ai fait ce matin.
J'ai 2 domaines qui partagent la même base de données.
Pour les 2 domaines, la BDD est en UTF-8. Dans mes tables j'ai bien des "é".

Domaine 1 (là où je réalise mes tests conversion UTF-8).
Config pages : <meta charset="utf-8"> + mysql_query("SET NAMES UTF8"); + AddDefaultCharset UTF-8

- Page ISO => Points d'interrogation
- Page UTF-8 => OK

Là ça me semble logique et me fait penser que mon site doit être pas trop mal.

Domaine 2 (site actuel)
Config pages : ISO-8859-1, rien d'autre de déclaré

- Page ISO => OK
- Page UTF-8 => Points d'interrogation

Si je rajoute : AddDefaultCharset UTF-8 sur le site domaine 2
=> là tout plante partout. Même la page UTF-8 à des "?" ce qui me surprend là par contre.

Si je rajoute : AddDefaultCharset ISO-8859-1 sur le site domaine 2
=> tout est ok. Page codée en UTF-8 se retrouve bien affichée.

En rajoutant mysql_query("SET NAMES UTF8"); sur ma page UTF-8
=> Affichage correct.


Autant les résultats du Domaine 1 me font penser que j'ai réussi ma conversion vers l'UTF-8, autant les résultats du Domaine 2 me font penser que mon site actuel c'est la grosse zone! et du coup j'ai un peu peur sur les résultats quand je vais updater mon site web.
Modifié par PhilouMinety (30 Aug 2012 - 11:53)
Bonsoir.
J'ai poursuivi mes lectures sur le site, ya vraiment des sujets très intéressants.
J'ai donc repris tout au calme et ce soir certaines choses me paraissent beaucoup plus claires.

Suite à mon dernier message.

Les différents tests que j'ai réalisé sur le Domaine 1 (test) marchent tous. Le site est bien codé en UTF-8. J'ai fait des tests avec les caractères chinois dans la BDD, via des formulaires et sur la base. Tout est ok et bien retranscrit. Je pense donc être bon!
Merci déjà pour tous les conseils que j'ai pu lire sur les différents sujets.

Pour le domaine 2 (site actuel), les mêmes tests se sont avérés variés. Il y a des incompatibilités sur certaines choses. Les caractères chinois me l'ont bien démontré. Normal en même temps suite à mes changements sur ma base.

Tout ça me paraît donc un peu plus clair ce soir.
Je dois mettre en ligne ce week end la nouvelle version de mon site, la conversion à l'UTF-8 faisait partie des critères. Je suis assez confiant sur le résultat.
Elle m'a permis en tout cas de voir l'utilité de cet encodage, chose que j'ai longuement repoussé et évité par choix, mais aujourd'hui je regrette de ne pas l'avoir fait plus tôt.

Merci d'avoir lu mes différents posts. Je suis quand même preneur de tous conseils au cas où.
Merci également aux différents sujets et contributeurs sur cette question. Ya des lectures qui m'ont vraiment aidé. Je vous tiendrais au courant la semaine prochaine.

Bonne fin de soirée et bon week end.
Modifié par PhilouMinety (31 Aug 2012 - 00:51)
Je vais mettre résolu sur le sujet.
Tout s'est bien passé. Du moins j'ai pas constaté de trucs bizarres d'après mes tests.
Aucun regret sur le passage d'ISO-8859-1 à UTF-8.

Désolé pour le monologue... Smiley rolleyes
Merci.
J ai lu attentivement ton post, mais ne trouve pas ma solution
j'explique : dans un formulaire j'affiche des champs avec leur descriptif et des textes en dur (avec des acccents !) en mode utf-8 : tout s'affiche bien.
J'alimente dans un select les différentes lignes options a partir d'une table (tout UTF : le serveur, la table) dont les champs texte contiennent tous les caractères accentués (et même "ç") !
Et là patatra sur le site : soit j'ai les accents dans le select et les textes en dur sont en vrac (é) en affichage iso, soit les textes sont bons mais le select présentes les losange noir avec point d'interrogation
Merci de l'aide de qui peut et qui veut