encodage charset

Invité
Invité n'ayant pas de compte PHPfrance

11 sept. 2011, 20:01

bonjour à tous!

cela fait quelques jours que j'essaye de résoudre ce problème:

c'est à dire, j'ai des données dans ma base: colonne adresse données: -> 6 rue massena 1er etg é è & $ à avec un encodage utf-8_bin

dans ma page:

$j_gg = fun_req_gen("SELECT gain.titre_prod, gain.id_prod, gain.g_points, gain.gagnele, gain.type_jeux, gain.envoye, gain.validation FROM gain WHERE gain.id_player = ".$_SESSION['id_player']);
$tab_j_gg = mysql_fetch_assoc($j_gg);

echo $tab_j_idf['adresse'];

?>

<!doctype html><html><head><meta http-equiv="content-type" content="text/html; charset=utf-8_bin">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8_bin" />

et j'ai ce résultat : 6 rue massena 1er etg � � & $ �

alors qu'un autre test:

$j_idf = fun_req_gen("SELECT compte.pseudo, compte.nom, compte.prenom, compte.adresse, compte.cp, compte.ville, compte.pays, compte.etat, compte.mail FROM compte WHERE compte.id_player = 1");
$tab_j_idf = mysql_fetch_assoc($j_idf);

echo $tab_j_idf['adresse'];
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//FR" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8_bin">

résultat correct: 6 rue massena 1er etg é è & $ à

j'en perd mon latin, cela peut venir de quoi étant donné que tout est identique

merci pour vos réponses, avant que je saute par la fenetre :)

ViPHP
AB
ViPHP | 5818 Messages

11 sept. 2011, 20:05


Petit nouveau ! | 2 Messages

11 sept. 2011, 21:40

Bon j'ai trouvé!

j'ai suivi le tuto mais cela ne fonctionnait pas
du tuto j'ai mis le http.conf -> AddDefaultCharset Off

cela ne fonctionnait pas

donc dans ma connection j'ai mis mysql_set_charset

$base = mysql_pconnect($hostname_co_base, $username_co_base, $password_co_base) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($database_co_base, $base);
mysql_set_charset('utf8',$base);

et là nickel

si cela peut servir à quelqu'un!

merci

ViPHP
AB
ViPHP | 5818 Messages

11 sept. 2011, 22:04

C'était aussi écrit dans le tuto : :wink:

MySql
Pour MySql comme pour toute autre base de donnée il est préférable de créer votre base en spécifiant l'encodage utf8_general_ci.
Cette possibilité est cependant rarement disponible sur les serveurs mutualisés. Pour contourner ce problème et une meilleure portabilité de votre code, vous pouvez indiquer l'encodage à utiliser en envoyant la requête "SET NAMES UTF8" juste après la connexion à votre base.
mysql_select_db($database, $connection);
mysql_query("SET NAMES 'utf8'");
Pour les versions PHP 5 >= 5.2.3 et MySQL version 5.0.7 ou supérieure, utilisez de préférence mysql_set_charset
...

Petit nouveau ! | 2 Messages

12 sept. 2011, 15:14

effectivement! merci l'ami AB!!!