Problèmes de caractères "œ", "€" avec php 5 et MS sql serveur [debia] - Installation - Linux et OS Alternatifs
Marsh Posté le 27-10-2008 à 21:32:31
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
Marsh Posté le 28-10-2008 à 12:41:31
Après installation des drivers freetds, j'ai toujours le même soucis
Je sature..
Parcontre, j'ai un message d'erreur maintenant :
Citation : |
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..
Marsh Posté le 29-10-2008 à 11:12:16
J'ai fini par trouver...
En gros, il faut :
Citation : [sqlserver] |
Citation : mssql.charset = CP1252 |
Citation : AddDefaultCharset Windows-1252 |
Ensuite ça passe..
3 jours bordel
Marsh Posté le 27-10-2008 à 17:04:03
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"