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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Installation

  [debia] Problèmes de caractères "œ", "€" avec php 5 et MS sql serveur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[debia] Problèmes de caractères "œ", "€" avec php 5 et MS sql serveur

n°1085128
VenerZen
M - D - M
Posté le 27-10-2008 à 17:04:03  profilanswer
 

:hello:  
 
Il y a un truc que je ne comprends pas. J'ai installé debian stable, apache2 et php5. En utilisant php5-sybase, j'arrive sans soucis à faire des requêtes sur le serveur sql serveur 2000.
Cependant, si je le réusltat comporte des caractères particuliers "œ", "€", etc.. j'ai un carré avec un point d'interrofation qui est retourné. Non pas dans le code html affiché, mais dans le source de la page. Ce n'est pas un problème d'interprétation de ce caractère par un navigateur.
 
J'ai configuré apache2 pour que le langage par défaut soit iso-8859-15. Ensuite j'ai fait les tests suivant :  
 
"œ" directement dans le code html de la page => ça fonctionne
echo "œ"; ==> ça fonctionne
$req    = mssql_query(" select  'œ'   from    dbo.test" ); et en parcourant le résultat ==> ça fonctionne
 
$req    = mssql_query(" select  'œ', *   from    dbo.test" ); ==> ça fonctionne pour 'œ' mais pas pour le champ suivant qui lui contient "œ € œ" dans la table "dbo.test".  
 
J'ai carré avec un point d'intérrogation qui s'affiche. Les accents dans les champs varchar de la table s'affichent cependant bien. On dirait en fait qu'il est "coincé" en iso-8859-1 pour les champs textes des tables. Pourtant celle-ci contiennent bien des caractère iso-8859-15.
 
Ça fait trois heures que je suis dessus, et là je sèche..
 
Si quelqu'un a une suggestion à me faire, je l'en remercie d'avance. Est-ce que je suis contraint d'utiliser freetds pour ça ?
 
J'ai fait un test avec freebsd. Aucun soucis :/ mais j'utilise freetds :/ Ça peut venir de là ?


Message édité par VenerZen le 27-10-2008 à 17:18:12

---------------
"L'abus de modération, nuit gravement à la consommation"
mood
Publicité
Posté le 27-10-2008 à 17:04:03  profilanswer
 

n°1085201
l0g4n
Expert en tout :o
Posté le 27-10-2008 à 20:30:49  profilanswer
 

Passe tout en utf8.
Mais c'est lourd comme changement.

n°1085236
VenerZen
M - D - M
Posté le 27-10-2008 à 21:32:31  profilanswer
 

Tu veux dire, la base de données ? Impossible. Les changements seraient trop lourd pour l'ensemble de l'applicatif qui ce sert de ces données :/ La base doit faire une centaine de Go environ.  
J'ai presque envie de tout passer sous Freebsd. Le soucis, c'est que ce serveur web est un domU et il faudrait que je passe en current :/


---------------
"L'abus de modération, nuit gravement à la consommation"
n°1085410
VenerZen
M - D - M
Posté le 28-10-2008 à 12:41:31  profilanswer
 

Après installation des drivers freetds, j'ai toujours le même soucis :/
Je sature..
Parcontre, j'ai un message d'erreur maintenant :  

Citation :


Warning: mssql_connect() [function.mssql-connect]: WARNING! Some character(s) could not be converted into client's character set. Unconverted bytes were changed to question marks ('?')
Warning: mssql_query() [function.mssql-query]: WARNING! Some character(s) could not be converted into client's character set. Unconverted bytes were changed to question marks ('?').


 
Je crois que j'approche tout de même. Leur bases semblent être en windows-1252 :/
En passant "mssql.charset="windows-1252", je n'ai plus l'erreur à la connexion, mais seulement à l'exécution de la requête..


Message édité par VenerZen le 28-10-2008 à 13:28:45

---------------
"L'abus de modération, nuit gravement à la consommation"
n°1085645
VenerZen
M - D - M
Posté le 29-10-2008 à 11:12:16  profilanswer
 

J'ai fini par trouver...
 
En gros, il faut :

  • installer les drivers tds et créer le paquet php4-mssql/php5-mssql
  • virer le driver sybase php4-sybase/php5-sybase
  • modifier le fichier freetds.conf comme ça  
Citation :

[sqlserver]
        host    = *.*.*.*
        port    = 1433
        tds version     = 8
        client charset     = CP1252


  • modifier le php.ini comme ça :  
Citation :

mssql.charset = CP1252


  • modifier le fichier apache2.conf et ajouter ça :
Citation :

AddDefaultCharset Windows-1252


  • dpkg-reconfigure locales et cocher la première case tout en haut.  


Ensuite ça passe..
3 jours bordel :/


Message édité par VenerZen le 29-10-2008 à 14:08:50

---------------
"L'abus de modération, nuit gravement à la consommation"

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Installation

  [debia] Problèmes de caractères "œ", "€" avec php 5 et MS sql serveur

 

Sujets relatifs
Log session windows (serveur terminal Win 2003) sur serveur web linuxfaire planter un serveur, intrusion: légal ou illégal?
(Re)demarrer les services d'un serveur a distance?Quel répertoire pour les documents communs sur mon serveur personnel ?
[Virtual box] Bridging Ubuntu / VMMigration de serveur dédié. Choix d'un nouvel OS
Impossible d'acceder à mon serveurproblème de configuration postfix: serveur secondaire (:cry: inside)
Antivirus pour serveur de fichiers sous LinuxServeur FTP pour Debian Etch
Plus de sujets relatifs à : [debia] Problèmes de caractères "œ", "€" avec php 5 et MS sql serveur


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