Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/06/2011, 11h40   #1
Invité de passage
 
Inscription : juin 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : juin 2011
Messages : 3
Points : 0
Points : 0
Par défaut [Oracle/PHP] Problème d'accent

Bonjour,

Je vous expose mon problème :
Je tente d'insérer des données accentuées dans une base Oracle et les caractères accentués (éèà....) sont remplacés par des caractères spéciaux (? par exemple).
J'insère ces données grâce avec un fichier PHP.
Dans mon fichier PHP : header('Content-Type: text/xml;charset=UTF-8').

Ma base :
Code :
1
2
3
4
5
6
7
SELECT * FROM nls_database_parameters;
...
NLS_LANGUAGE    AMERICAN
NLS_TERRITORY    AMERICA
NLS_ISO_CURRENCY    AMERICA
NLS_CHARACTERSET    WE8ISO8859P9
...
Pouvez-vous m'aider?
oiMMoi75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2011, 12h17   #2
Membre habitué
 
Inscription : septembre 2008
Messages : 92
Détails du profil
Informations personnelles :
Âge : 42
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2008
Messages : 92
Points : 112
Points : 112
bonjour,

dans ton code
Code :
<?php putenv("NLS_LANG=American_America.UTF8"); ?>
car il faut informer ORACLE du NLS_LANG du client avant de faire l'insertion pour permettre la conversion dans le jeu de caractere de la base si elle est possible.
a.presles est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2011, 13h04   #3
Invité de passage
 
Inscription : juin 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : juin 2011
Messages : 3
Points : 0
Points : 0
Citation:
Envoyé par a.presles Voir le message
bonjour,

dans ton code
Code :
<?php putenv("NLS_LANG=American_America.UTF8"); ?>
car il faut informer ORACLE du NLS_LANG du client avant de faire l'insertion pour permettre la conversion dans le jeu de caractere de la base si elle est possible.
Merci pour ton aide.
Par contre ça ne fonctionne pas, j'ai toujours le problème d'accent.
oiMMoi75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2011, 13h59   #4
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 311
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 311
Points : 5 810
Points : 5 810
Evitez les erreurs de conversion grâce aux NLS
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2011, 14h38   #5
Invité de passage
 
Inscription : juin 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : juin 2011
Messages : 3
Points : 0
Points : 0
J'avais déjà lu ce document mais ça ne m'a pas beaucoup aidé.
J'ai essayé de mettre export NLS_LANG=AMERICAN_AMERICA.UTF8 ou export NLS_LANG=AMERICAN_AMERICA.WE8ISO8851P1 dans le .profile de la machine sur laquelle se trouve les scripts php mais pas d'amélioration.
oiMMoi75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h51.


 
 
 
 
Partenaires

Hébergement Web