IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Comment passer un gros site d'iso en utf8 ?


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2008
    Messages : 101
    Par défaut Comment passer un gros site d'iso en utf8 ?
    Bonjour à tous

    J'ai un client important qui a un gros site codé en iso-8859-1 avec une base de donnée ayant un interclassement (connexion, base et tables) en latin1_swedish_ci.
    Je vais devoir faire une très grosse mise à jour du site et je voulais en profiter pour le passer en UTF8.

    Est ce jouable ? Est ce qu'il y a un risque pour les données enregistrées en base ? Dois je encoder tous les fichiers sources (html/php) en UTF8 ?

    Merci pour votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tout est faisable

    Pour le risque il se situe plus sur l'utilisation d'un composant ou de fonctions (par exemple FPDF) qui ne fonctionnerait pas avec UTF8.
    Tu comptais de toute façon réaliser des sauvegardes .

    Les fichiers sources doivent être écrit en UTF8.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2010
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 59
    Par défaut
    Et bien il faut convertir (fichiers, encodage, base de donnée) en faisant une sauvegarde avant.
    Pour les fichiers (contenu et fichier lui même) sous linux il y a des super outils qui doivent pouvoir permettre de faire ca en traitement par lot sinon doit bien y avoir des équivalent sur pc ou mac mais pour ca linux ne m'a jamais déçu.
    Après dans le html il faut changer tout les encodage, avec un chercher remplacer ca devrait aller assez vite. Pour la base de donnée avec un peut de chance en changeant le format elle va convertir toute seule.
    Faudra peut être aussi reconfigurer le serveur.

  4. #4
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2008
    Messages : 101
    Par défaut
    Citation Envoyé par MtgCmg Voir le message
    Et bien il faut convertir (fichiers, encodage, base de donnée) en faisant une sauvegarde avant.
    Pour les fichiers (contenu et fichier lui même) sous linux il y a des super outils qui doivent pouvoir permettre de faire ca en traitement par lot sinon doit bien y avoir des équivalent sur pc ou mac mais pour ca linux ne m'a jamais déçu.
    Après dans le html il faut changer tout les encodage, avec un chercher remplacer ca devrait aller assez vite. Pour la base de donnée avec un peut de chance en changeant le format elle va convertir toute seule.
    Faudra peut être aussi reconfigurer le serveur.
    Heureusement, je n'ai que 2 encodages à changer dans le html grâce à des includes des pages. Le site est heureusement bien programmé

    Après il faudrait en effet que je change par lot les encodages des fichiers.

    Mais je pense aussi que je risque d'avoir des problèmes sur les envoies des mails qui ont dans leur en-tête un encodage en iso, donc faudrait aussi que je les passe en utf8 vu que les fichiers les créant vont être en utf8 (?)

    Pour la base de donnée, rien n'est moins sûr, tu n'es pas sûr à 100% ?

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Justement le site utilise FPDF. Que va t'il se passer, les accents vont être mal encodés ?
    Effectivement tu n'auras plus d'accent.
    Tu seras obligé de convertir tes chaînes en iso et de faire quelques bidouilles pour des caractères comme l'euro et le e dans le o
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2008
    Messages : 101
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Effectivement tu n'auras plus d'accent.
    Tu seras obligé de convertir tes chaînes en iso et de faire quelques bidouilles pour des caractères comme l'euro et le e dans le o
    Mouai dans ce cas vaux mieux que je reste en ISO, cela ferait trop de changements...

  7. #7
    Membre éclairé
    Inscrit en
    Janvier 2010
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 59
    Par défaut
    Pour les mail -> utf8 si tu veux tout en utf8
    Aussi en utf8 les é n'existe pas il faut mettre les é etc... dans le html
    Pour ce qui du php pour les strings tu peux convertir ton utf8 en iso avec utf8_decode() si il y a besoin.
    Pour la base de donnée je ne suis pas sur a 100% mais un coup de google et tu devrais vite avoir la réponse un petit test vite fait.
    Edit : ca me reviens pour convertir ta base de donnée, tu exportes la base actuel, tu effaces la base actuelle tu recréés la même base que la base d'origine et tu réimporte tout de la seconde base et, tu auras des problèmes d'accents si mes souvenir sont bons mais googlise y a forcément un moyen.
    Bonne chance

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Aussi en utf8 les é n'existe pas il faut mettre les é etc... dans le html
    UTF8 possède evidemment les caractères accentuées, il n'est pas recommandé d'utiliser des entités HTML.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2008
    Messages : 101
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Pour le risque il se situe plus sur l'utilisation d'un composant ou de fonctions (par exemple FPDF) qui ne fonctionnerait pas avec UTF8.
    Justement le site utilise FPDF. Que va t'il se passer, les accents vont être mal encodés ?

Discussions similaires

  1. Comment font ces gros sites
    Par bigs3232 dans le forum Emploi
    Réponses: 29
    Dernier message: 08/02/2012, 14h46
  2. Comment passer un gros tableau à une méthode de service wcf ?
    Par EmacLi dans le forum Windows Communication Foundation
    Réponses: 3
    Dernier message: 22/03/2011, 11h18
  3. [PHP-JS] Comment organiser ses pages pour un gros site?
    Par ChriGoLioNaDor dans le forum Langage
    Réponses: 4
    Dernier message: 09/02/2007, 14h08
  4. Réponses: 3
    Dernier message: 13/10/2006, 12h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo