Vous n'êtes pas identifié(e).
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
Il y a bien un charset="UFT8" dans l'entête HTML de la page ?
Marc.
Hors ligne
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
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
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
yep ça marche c'était ça, nickel, merci
Hors ligne