|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 7 ![]() |
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 |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : juin 2003 Messages : 4 893 ![]() |
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 |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 7 ![]() |
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 |
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() Étudiant Inscription : novembre 2005 Messages : 85 ![]() |
hello,
Code :
header('Content-Type: text/html; charset=utf-8'); |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 7 ![]() |
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 |
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() Inscription : juillet 2007 Messages : 201 ![]() |
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. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com