Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/09/2007, 12h40   #1
Invité de passage
 
Inscription : juillet 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 7
Points : 1
Points : 1
Par défaut Enregistrer de l'hébreux

Bonjour,
voila j'ai developpé une base de données pour l'entreprise et j'ai crée un formulaire.
seulement certains champs doivent pouvoir etre renseignés et enregistrés en hebreux.
pour cela je change la langue du clavier et je la passe en Hebreux.
tout s'ecrit bien mais quand je vais voir dans la base de donnée si c'est bien enregistré, il n'y a que des ???????.
j'ai ensuite penser a changer l'interclassement dans la base de données(gérée par phpmyadmin) que j'ai passé en "hebrew_gen" mais ca ne change rien.

pourriez vous me renseigner svp? sinon mon appli ne sert a rien et ca fait 3 mois que je suis dessus!

merci de votre attention
infinite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 13h22   #2
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
Pour pouvoir utiliser n'importe quel caractères utilise l'encodage UTF-8
Ce n'est pas dans la base de données que ça se modifie mais dans ton application. Tes pages doivent être encodées en UTF-8
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 14h35   #3
Invité de passage
 
Inscription : juillet 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 7
Points : 1
Points : 1
salut,merci d m'avoir epondu.

au depart dans la base de données jai tout mis en utf8-general-ci.
mais les champs qui devaient accepter l'hebreux ne le reconnaissaient pas.

pourriez vous me dire comment encoder les pages de mon appli en UTF8 svp?
merci
infinite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 15h40   #4
Membre régulier
 
Étudiant
Inscription : novembre 2005
Messages : 85
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2005
Messages : 85
Points : 81
Points : 81
hello,
Code :
header('Content-Type: text/html; charset=utf-8');
Grummfy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 16h11   #5
Invité de passage
 
Inscription : juillet 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 7
Points : 1
Points : 1
ok merci.

mais ca ne marche toujours pas.
dois je changer quelquechose dans la base de données?
j'ai le choix entre
-utf8_general_ci
-utf8_ci
-utf8_unicode_ci

le header tel que vous me l'avez ecrit je l'ai placé en haut a la premiere ligne entre les balises php.

existe t il une autre possibilité ou alors me suis je trompé?

merci
infinite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2007, 12h15   #6
Membre confirmé
 
Inscription : juillet 2007
Messages : 201
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 201
Points : 227
Points : 227
C'est normal que tu ais que des ????
Quand un script PHP parle avec une base de données, s'ils parlent avec le même charset, aucun problème. Par contre, s'ils parlent avec un charset différent, le message est mal transmis. Voila la demarche a suivre:



Change le code HTML pour déclarer le charset
Vous devez déclarer le charset dans le HEAD de votre code HTML.

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

Changer le header HTTP renvoyé au navigateur

Vous pouvez dire à apache de déclarer de l'UTF-8 par défaut en ajoutant dans httpd.conf (dans votre virtualHost)

* AddDefaultCharset UTF-8

Si vous n'avez pas acces à la conf apache, vous pouvez imposer le charset d'une page avec la commande ci-dessous :

<?php
header('Content-Type: text/plain; charset="UTF-8"');
?>

Connexion à la base de données
Pour que la communication entre PHP et Mysql soit en UTF-8 tu dois lancer la requête suivante avant n'importe quelle autre requête :

SET NAMES UTF8 aisni les ??????? devraient disparaître.
acirfa est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h17.


 
 
 
 
Partenaires

Hébergement Web