Page 1 sur 2

Encore des problèmes d'accent

Posté : 27 nov. 2006, 18:09
par emmiedax
BONJOUR,

comme beaucoup, je n'arrive pas à régler les problèmes des accents avec php et mysql.

Je suis chez free.fr et la version mysql est 5.0.25 et myadmin 2.6.3-pl. Je ne connais pas vraiment grand chose au changement d'options sur ce genre d'outils. Je sais juste comment on gère une base en elle-même (et encore...)

Ma page est en php, j'ai dans le php un
echo "<meta http-equiv='content-type' content='text/html;charset=utf-8' \>"
J'ai une requete à la base :
$requete_texte_accueil = "SELECT id, titre, texte FROM texte_accueil";
$resultat_texte_accueil = mysql_query($requete_texte_accueil) or die ($requete_echouee);
while($variable_texte_accueil = mysql_fetch_object($resultat_texte_accueil)){}
Et bien sûr, elle marche mais remonte le texte avec des '?' à la place des accents.

Les réponses sont affichées grâce à :
echo "<p>".$variable_texte_accueil->titre.",</p>";
J'ai visité plusieurs forums et essayé pleins des choses différentes, mais sans comprendre vraiment ce que je devait faire et bien sûr sans réussite.

Merci ... july

Posté : 27 nov. 2006, 18:22
par Cyrano
Dans phpMyAdmin, regarde pour ta base la colonne Interclassement : quel encodage est utilisé pour chacune des tables ?

Interclassement :

Posté : 27 nov. 2006, 18:39
par emmiedax
Voilà ce que je vois :

Interclassement pour la connection MySQL: utf8_gebneral_ci

Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)

Language : (fr-utf-8)

J'ai compris ta question

Posté : 27 nov. 2006, 18:45
par emmiedax
En fait tu as raison, mes tables sont en Latin1_general_ci

Que dois-je faire ?

Posté : 27 nov. 2006, 18:54
par emmiedax
J'ai essayé de passer me tables en utf8-general-ci, mais cela ne donne aucun résultat

Que puis-je faire?

Posté : 27 nov. 2006, 20:05
par Cyrano
dans tes pages, as-tu bien indiqué l'encodage via une balise meta par exemple :
version XHTML

Code : Tout sélectionner

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" xml:lang="fr" />
Version HTML 4 :

Code : Tout sélectionner

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Posté : 27 nov. 2006, 20:18
par emmiedax
oui, je viens d'essayer les deux et aucun ne marche malheureusement.

Posté : 27 nov. 2006, 21:21
par Cyrano
As-tu une page en ligne qu'on puisse voir de quoi il retourne ou tu n'es qu'en locahost ?

Posté : 27 nov. 2006, 21:23
par emmiedax
semas.free.fr/index.php

Mais tu ne verra pas le php....

Posté : 27 nov. 2006, 21:26
par emmiedax
je vais mettre le php sur semas.free.fr/index3.html

Posté : 27 nov. 2006, 21:31
par Cyrano
pas la peine : fais l'expérience suivante : affiche la page dans ton navigateur, ensuite cliques sur Affichage>Encodage>Occidental (ISO-8859-1)

Et là, surprise, les <?> reprennent un aspect normal : en clair, change l'encodage dans la balise meta utf-8 en iso-8859-1 et tout devrait rentrer dans l'ordre.

Posté : 27 nov. 2006, 21:33
par Cyrano
Rectification, il reste un problème : ça corrige le texte central, mais à gauche, l'accès membre perd son accent qui lui était normal : donc il faudrait encoder le texte central en utf-8 avec utf8encode() et laisser le meta en utf-8

Posté : 27 nov. 2006, 21:35
par emmiedax
Merci Cyrano,

Je ne sais si l'ampleur de tes connaissances se rapportent à la taille de ton, mais si tel était le cas, alors il est évident que c'est une péninsule, voire plus.

Merci de ton aide

July

Posté : 27 nov. 2006, 21:36
par Cyrano
[Résolu] :?:

Posté : 28 nov. 2006, 00:30
par Invité
Le problème est effectivement résolu.

Désolé pour le temps de réponse