Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 28/05/2011 23:11:42
- bebert73
- Membre
affichage d'un caractère codé en UTF8 dans une page web
Bonjour,
J'ai une base de donnée avec un codage UTF8.
soit la table suivante
CREATE TABLE toto (
titi VARCHAR(32) PRIMARY KEY
);
j'insère le caractère de code unicode 21b9 (il s'agit d'une flèche double)
INSERT INTO toto(titi) VALUES (U&'\21b9');
Mon serveur web et PHP sont aussi en UTF8. Pour en être sur, j'ai fait afficher dans la page web un SELECT pg_client_encoding(). Ca m'affiche bien UTF8.
Comment se fait-il alors qu'il n'arrive pas à afficher le contenu de titi ? (il m'affiche un caractère parasite à la place)
Hors ligne
#2 29/05/2011 07:24:13
- Marc Cousin
- Membre
Re : affichage d'un caractère codé en UTF8 dans une page web
Il y a bien un charset="UFT8" dans l'entête HTML de la page ?
Marc.
Hors ligne
#3 29/05/2011 07:54:12
- Marc Cousin
- Membre
Re : affichage d'un caractère codé en UTF8 dans une page web
Non, il n'y a pas de fonction de ce genre là à ma connaissance. Mais le caractère UTF-8 devrait s'afficher sans devoir ruser. C'est très bizarre.
Je viens d'ailleurs de le tester avec une page web maison, si je saisis le 21b9 unicode, ça s'affiche bien…
Marc.
Hors ligne
#4 29/05/2011 08:02:45
- bebert73
- Membre
Re : affichage d'un caractère codé en UTF8 dans une page web
Voila le détail :
$ma_requete = "select U&'\21b9' AS toto";
$execution = pg_query ($base, $ma_requete);
$resultat = pg_fetch_row($execution);
echo $resultat[0];
et ça m'affiche ça :
b9
une idée ???
Hors ligne
#5 29/05/2011 08:06:35
- Marc Cousin
- Membre
Re : affichage d'un caractère codé en UTF8 dans une page web
Il faut être en standard_conforming_strings à on, pour que cette syntaxe fonctionne. C'est bien le cas ?
Par ailleurs, est-ce qu'il ne faudrait pas protégère le \ dans la chaîne PHP ? : select U&'\\21b9' AS toto
Marc.
Hors ligne
#6 29/05/2011 08:18:08
- bebert73
- Membre
Re : affichage d'un caractère codé en UTF8 dans une page web
yep ça marche c'était ça, nickel, merci
Hors ligne