2010-11-01 1 views
0

Je suis un développeur PHP et j'ai récemment développé un site web utilisant PHP et je me connecte à une base de données Syabse en utilisant ODBC.Problème de codage en langage arabe en PHP et ODBC (Sybase)

Ma connexion à la base de données est correcte et je peux afficher les données dans mes pages Web mais je rencontre un problème lorsque les données arabes sont affichées car elles sont considérées comme des carrés et ne comprennent pas les symboles.

Je ne peux pas changer le codage de la langue de base de données et c'est correct car certaines autres données arabes sont bien affichées.

J'ai essayé la même configuration utilisée dans cette page Web mais cela ne fonctionne pas aussi. J'ai lu beaucoup de problèmes rencontrés et j'ai essayé quelques solutions et j'ai lu des codages UTF-8, ISO, Windows et Unicode langauge et j'ai essayé de changer la balise Meta HTML pour afficher les mots arabes mais le problème n'est pas résolu.

Je pense que mon langage de fichier PHP lui-même peut avoir un problème. Puis-je changer l'encodage du langage PHP? Comment faire cela si c'est possible?

Existe-t-il une solution pour afficher l'arabe provenant de la base de données dans les pages web PHP? Il est un problème ennuyeux :(

Je vous saurais gré de tout soupçon ou suggestion de résoudre ce problème, mais s'il vous plaît mentionner votre référence et mettre et par exemple si elle est disponible.

Merci à l'avance ...

Répondre

2

. Il suffit de changer la balise Meta ne suffit pas

En supposant que vous voulez changer votre environnement en UTF-8, vous devez vous assurer que ce qui suit est UTF-8 codé:

  • Les tables de la base de données
  • La connexion à la base de données.
  • encodage de la page (dans la balise Meta, ou de préférence l'en-tête content-type)

encodage du fichier PHP est hors de propos, à moins qu'il contient du contenu non-ASCII lui-même. Dans ce cas, vous devez également ajuster son encodage, généralement dans la boîte de dialogue "Enregistrer sous" de votre IDE.

+0

Et l'encodage de la page dans l'en-tête http: si vous mettez un meta http-equiv, vous devez avoir le même en-tête http réglé ^^ –

+0

@ G.Qyy ouais, j'ai juste pensé à ça moi-même :) Ajouté. –

+0

Merci pour votre réponse rapide, mais je n'utilise pas MySQl. J'utilise ODBC pour me connecter à la base de données Syabse. Je pense que SET NAMES 'utf8'; SET JEU DE CARACTÈRES 'utf8'; peut ne pas fonctionner avec. J'ai essayé de changer le fichier PHP en utilisant Enregistrer sous mais je ne trouve pas d'encodage dans les options. – TopDeveloper