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 :

Optimisation UTF8 (Hébergement Pro OVH)


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 65
    Points : 50
    Points
    50
    Par défaut Optimisation UTF8 (Hébergement Pro OVH)
    Bonjour,

    meilleurs voeux 2011.

    Lors d'une connexion PHP/MySQL, les accents et autres caractères spéciaux des données retournées apparaissent en erreur si je ne précise pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php mysql_set_charset('utf8'); ?>
    Cette ligne est-elle obligatoire ?

    Mes fichiers sont évidemment créés et encodés en UTF8.
    Ils comportent tous la meta charset UTF8.
    Ma base MySQL 5 et mes tables sont en UTF8 Unicode.
    Sous PHP 4, 5 ou 6-dev le résultat est le même.

    Je souhaite utiliser la méthode Apache expliquée ici paragraphe IV-B
    mais modifier le .htaccess avec AddDefaultCharset utf8 n'a eu aucun effet.
    Donc peut-être qu'OVH bloque cette directive pour Apache

    PS: je suis sur un Pro OVH avec PHP dispo en 4, 5 et 6-dev et sur une base MySQL 5.

    Merci pour vos réponses.

    Neutron

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est l'encodage de la connexion mysql qui est en jeu : option "default-character-set" de mysql.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 65
    Points : 50
    Points
    50
    Par défaut
    Citation Envoyé par sabotage Voir le message
    option "default-character-set" de mysql.
    Avec phpMyAdmin je n'ai pas d'autres choix que l'interclassement.

    La Doc MySQL 10.3.6. Jeux de caractères et collations de connexion
    http://dev.mysql.com/doc/refman/5.0/...onnection.html

    Rien à ce sujet dans la config PHP 5.2.14

    Comme je suis mutualisé. Je ne vois pas comment modifier cette directive, sauf dans un .htaccess. Mais dans ce cas je n'ai pas trouvé d'autres infos que le AddDefaultCharset utf-8 qui n'est pas la solution.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    si tu ne peux pas changé le config mysql qui par default est en latin1 (serveur, je parle pas des tables), c'est au applis de demandé de l'utf-8
    donc oui tu dois faire tout le temps
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_set_charset('utf8');
    après ca dépend comment est construit ton site, si il est bien fait cette information n'est rentré qu'une seul fois

  5. #5
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 65
    Points : 50
    Points
    50
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    si il est bien fait cette information n'est rentré qu'une seul fois
    C'est là où est le problème

    Blague à part je voulais simplement comprendre d'où venait le soucis. En fait il s'agit du serveur MySQL 5 - si je comprends bien - qui est installé par défaut en latin, tout comme l'est Apache pour PHP 4 et 5.

    Petite question à ce sujet, pour configurer MySQL en mutu, à part les options développées dans phpMyAdmin ... par grand chose à faire ?

    Donc impossible de modifier default-character-set ?

    Mais effectivement
    mysql_set_charset('utf8');
    n'est pas a dupliquer si je l' "include" avec mon script de connexion ...

    Merci

  6. #6
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 65
    Points : 50
    Points
    50
    Par défaut
    ...

    en utilisant phpMyAdmin OVH 3.3.8.1

    avant avec MySQL 4 on choisissait l'encodage avant de se connecter.
    avec MySQL 5 on est d'office en UTF8.

    Pourquoi MySQL serait alors en latin ?



    Je viens de faire des essais avec SSH pour voir si je pouvais configuré mysql ... résultat pas fameux pour le moment ...

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par jimmyneutron Voir le message
    ...

    en utilisant phpMyAdmin OVH 3.3.8.1

    avant avec MySQL 4 on choisissait l'encodage avant de se connecter.
    avec MySQL 5 on est d'office en UTF8.

    Pourquoi MySQL serait alors en latin ?



    Je viens de faire des essais avec SSH pour voir si je pouvais configuré mysql ... résultat pas fameux pour le moment ...
    regarde dans les variables de phpmyadmin tu verras
    ou fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SHOW VARIABLES LIKE 'character%'

  8. #8
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 65
    Points : 50
    Points
    50
    Par défaut
    Effectivement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SHOW VARIABLES LIKE 'character%'
    donne

    character_set_client utf8
    character_set_connection utf8
    character_set_database utf8
    character_set_filesystem binary
    character_set_results utf8
    character_set_server latin1
    character_set_system utf8
    character_sets_dir /usr/share/mysql/charsets/
    bizzare pourquoi server est en latin alors que tout le reste est en utf8 ?

    en mutualisé est-ce possible de changer cette variable ?

    j'ai essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET character_set_server=utf8
    mais sans effet ...

    Merci pour l'info

    Neutron

  9. #9
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Points : 121
    Points
    121
    Par défaut
    Bonjour,

    je me permets d'utiliser ce sujet pour vous poser une question.

    Je travaille sur un site en local et j'ai un problème d'affichage des caractères spéciaux (é, è, à, ...)

    Je crée un menu depuis des informations stockées dans ma base de données et les informations apparaissent avec les problèmes de caractères.
    J'ai donc utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_set_charset('utf8');
    et l'affichage est correct.
    Par contre, plus loin sur la même page, j'affiche d'autres informations de ma base de données et en ajoutant cette ligne, ce sont ces informations qui affichent des problèmes de caractère alors que sans la ligne l'affichage est correct.

    Vous pouvez m'aider ?

  10. #10
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Points : 121
    Points
    121
    Par défaut
    J'ai trouvé en fait, j'avais déjà convertit mes infos de la BDD en utf_8, donc l'affichage était problématique en convertissant une deuxième fois.

Discussions similaires

  1. Réponses: 5
    Dernier message: 06/03/2015, 10h49
  2. [2.x] Installer symfony2 sur un hébergement mutualisé pro d'ovh
    Par scrappilly dans le forum Symfony
    Réponses: 7
    Dernier message: 03/09/2012, 23h19
  3. Changement d'hébergement chez OVH
    Par The Molo dans le forum OVH
    Réponses: 0
    Dernier message: 14/05/2010, 13h52
  4. hébergement chez OVH et sous-domaines
    Par basket dans le forum OVH
    Réponses: 1
    Dernier message: 13/01/2010, 10h23
  5. [FLASH MX2004 PRO] Décodage de l'utf8
    Par Typhlosion dans le forum Flash
    Réponses: 2
    Dernier message: 23/04/2005, 18h54

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