Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3025 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  PHP, SQL Server et la langue arabe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PHP, SQL Server et la langue arabe

n°1686184
AcidBurn69
Posté le 14-02-2008 à 11:14:16  profilanswer
 

salut tout le monde
 
je suis débutant dans la programmation php, et j'ai une application à faire qui accède a une base SQL Server 2000 pour afficher des données en arabe. Le problème est que l'affichage est comme sui :"íªŸ©¡ Ÿé¢© ï¡ í Ÿé¢èíïë" j'ai bon essayé tous les encodages au nivreau de la page elle même (utf-8,windows-1256...) mais sa change rien, sachant que les données et en niveau de SQL manager s'affiche correctement.
j'ai eu ce problème avant avec des bases mysql et postgres sous linux mais alors il suffisait d'avoir la bonne combinaison encodage base/page pour le bon affichage.  
 
merci pour votre aide


---------------
Core2duo E6420 4 Go DDR3 Saphire HD5770 1 Go dual screen : siemens 17p + siemens 19p
mood
Publicité
Posté le 14-02-2008 à 11:14:16  profilanswer
 

n°1686283
PierreC
Posté le 14-02-2008 à 13:25:49  profilanswer
 

Le navigateur web peut connaitre l'encodage d'une page de 2 manières différente. Soit par les entêtes http, soit par une balise html  
(<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> )
 
Si les deux informations existent le navigateur prend en priorité ce qu'il trouve dans l'entête http.
Pour modifier l'entête http soit configurer ton serveur web (pour qu'il envoie la bonne, ou qu'il n'en envoie pas, soit avec php).
 
Si tu utilises firefox tu peux connaitre et modifier l'encode que ton navigateur utilise : Affichage > encodage des caractères >
 
Pour forum.hardware.fr firefox indique utf-8 (ce qui correspond à la balise meta, et egalement à l'entete http : Content-Type: text/html; charset=utf-8)
 
en esperant que ca va t'aider.
 
 
--
formation à apache et php http://formation.1g6.biz/

n°1686393
AcidBurn69
Posté le 14-02-2008 à 15:53:08  profilanswer
 

merci pierre d'avoir répondu
j'ai bon mis l'encodage dans la balise html mais sa change rien, et même si je change l'encodage par firefox sa change rien, pire les donnée statiques (pas obtenu a partir de la base) ne sont plus affiché correctement. au fait ce que j'écris en arabe dans le code s'affiche normalement c'est juste les données de la base qui sont mal foutu!
 
avant avec mysql et postgres il suffisait que je crée une nouvelle base en utf-8 par exemple et que je remet dedans les données et avec le bon encodage en niveau de html tout s'affiche correctement mais avec SQL Server j'arrive pas a le faire. enfin a choisir utf-8
je sais il devrait surement avoir une solus, genre forcé l'affichage des données avec un tel ou tel encodage au niveau de php ou un truc comme ça  :??:  


---------------
Core2duo E6420 4 Go DDR3 Saphire HD5770 1 Go dual screen : siemens 17p + siemens 19p
n°1686492
PierreC
Posté le 14-02-2008 à 18:11:58  profilanswer
 

tu peux essayer la fonction encode : http://fr2.php.net/manual/fr/function.utf8-encode.php
 
mais je n'ai aucun retour sur expérience sur l'utilisation de cette fonction


---------------
Du tofu en Alsace : www.tofuhong.com
n°1686723
AcidBurn69
Posté le 15-02-2008 à 10:47:16  profilanswer
 

bonjour, et merci encore,  
je viens juste d'essayer ut8_encode mais sa donne rien :(


---------------
Core2duo E6420 4 Go DDR3 Saphire HD5770 1 Go dual screen : siemens 17p + siemens 19p
n°1686752
PierreC
Posté le 15-02-2008 à 11:15:45  profilanswer
 

pas d'autre idée de mon coté, je laisse la main aux autres ...


---------------
Du tofu en Alsace : www.tofuhong.com
n°1687186
naeh
Posté le 15-02-2008 à 23:16:06  profilanswer
 

ah utf8_encode et utf8_decode :)
 
elles m'ont fait voir de toutes les couleurs mais ça a le mérite d'etre efficace :) le truc c'est que par fois il faut tenter toutes les combinaisons avec, si encode marche pas essaye decode, si marche pas non plus essaye encode(encode()) ou decode(decode()).
 
 
j'ai deja eu a utilser ut8_decode(utf8_decode($texte)) pour avoir le bon affichage.
 
mais le mieux serait quand meme d'avoir une vrai fonction genre toUTF8() faite maison qui utilise locale et mb_string, au moins t'es sur d'avoir de l'utf8 a tous les coup et surtout du premier coup :)
 

n°2185376
misterarab​ic
Posté le 11-04-2013 à 16:20:42  profilanswer
 

Assalamu 3alaykum,
 
Afficher correctement des données arabes extraites d'une table MySql :
 
PREMIERE PARTIE :
 
Police de caractère à choisir pour afficher les caractères arabes dans une table :
 
1. Créer une Table.
 
2. Dans le champ Interclassement, sélectionner "utf8_bin" comme langue d'affichage.
 
3. Enregistrer en cliquant sur Sauvegarder.  
 
 
DEUXIEME PARTIE :
 
1. Ouvrir la page de résultats et repérer la ligne suivante :
mysql_select_db($database_fr_dictionary_ar_fr, $fr_dictionary_ar_fr);
 
2. Copier les deux lignes suivantes immédiatement en dessous :
mysql_query("SET NAMES cp1256" );
mysql_query("set characer set cp1256" );
 
3. Modifier la ligne de charset pour "windows-1256" comme cela :
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256" />
 
4. Enregistrer.
 
Source : Sumarabus.com (pleins de Tutoriaux sur la langue arabe et Dreamweaver 8).
 
Ma3a assalama,
 
Mister Arabic.

n°2185486
CyberDenix
Posté le 11-04-2013 à 23:28:38  profilanswer
 

UTF8 est un jeu de caractères international, je l'utilise pour traiter de l'arabe, du russe, du grec, ...etc.
 
Déjà vérifie que l'encodage de tes fichiers est en utf8.
créé ta base et tes tables en utf8
A chaque fois que tu te connectes à ta base, effectue une requete SET NAMES utf8 (attention, pas a chaque requête, seulement à la connexion, ce doit etre ta première requête) ou l'équivalent sur SQL serveur
et enfin, indique au navigateur que ton ton contenu est en utf8 via une balise meta ou un header()
 
Si cela ne marche pas, tu peux aussi changer l'encodage interne de php en utf8 et utiliser des utf8encode/décode (mais en principe pas besoin)


---------------
Directeur Technique (CTO)
n°2185509
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 12-04-2013 à 08:06:49  profilanswer
 

Ca va, 4 topics déterrés...


---------------
NewsletTux - outil de mailing list en PHP MySQL

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  PHP, SQL Server et la langue arabe

 

Sujets relatifs
[SQL Serveur] probleme requete avec calcul (tout bete)Envoi de formulaire sans PHP
[C# .NET] Probleme client server multithread[PHP/Mysql] Les trous de sécurité de base à éviter
[PHP] Création tableur excel dans page web[SGBD Access 2007 pro] Comment exécuter une requête en SQL (débutant)
[Rails] script/server renvoie toujours la page "Welcome aboard !"Problème connexion SQLServeur avec PHP
commencer le PHP/SQL 
Plus de sujets relatifs à : PHP, SQL Server et la langue arabe


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR