IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Des � à la place de mes accents [Encodage]


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de H.ile
    Profil pro
    Architecte de système d'information
    Inscrit en
    Janvier 2008
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Janvier 2008
    Messages : 122
    Points : 76
    Points
    76
    Par défaut Des � à la place de mes accents
    Aloha
    Mon utilisateur choisit un objet dans une liste déroulante. Le nom est bien affiché (accentué et tout).
    Quand je fais un "echo" sur la requête sql qui est générée pour récupérer les infos, je découvre que l'accent est remplacé par �. Cela fausse le résultat de la requête. Etrangement, les accents "passés en dur" dans la requête ne sont pas concernés.

    Ma page principale a une balise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" xml:lang="fr" />
    J'ai réenregistré toutes mes pages en UTF8 (était-ce logique ?)

    J'ai le même comportement quelque soit le navigateur. Et il ne me reste a priori que ce problème. D'avance, merci,



    Voici la fin de mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
     
    error_reporting(E_ALL || E_NOTICE);
     
    /* On récupère l'identifiant (TABLE|NOM)de l'objet choisi. */
    $_idObj = isset($_GET['_idObj']) ? $_GET['_idObj'] : false;
    echo $_idObj;
    //affiche BT_COMMU|Aub�rive
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo utf8_decode($_idObj);
    // affiche BT_COMMU|Aub?rive
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    /* Si on a un objet, on procède à la requête */
    if(false !== $_idObj)
    {
    require_once  './../fonctions.php';
    list($table_, $idr) = split('[|]', $_idObj);
        /* Création de la requête pour avoir la fiche d'objet*/
    	switch ($table_) {
    		...
    		case 'BT_COMMU':
    		$sql3 = "SELECT B.NOM \"Commune\", B.CO_INSEE \"Code Insee\", B.ARRONDIS \"Arrondissement\", B.CANTON \"Canton\", T.NOM AS EPCI ".
    				"FROM BT_COMMU B, TH_LIMAD T ".
    				"WHERE B.NOM = '".$idr."' ".
    				"AND SDO_ANYINTERACT(B.GEOMETRY, T.GEOMETRY) ='TRUE' ".
    				"AND (round(SDO_GEOM.SDO_AREA(SDO_GEOM.SDO_INTERSECTION(T.GEOMETRY,B.GEOMETRY, 0.001),0.010),3))>0.5 ".
    				"AND round((SDO_GEOM.SDO_AREA(SDO_GEOM.SDO_INTERSECTION(T.GEOMETRY,B.GEOMETRY, 0.001),0.010)/(SDO_GEOM.SDO_AREA(B.GEOMETRY,0.010)))*100,3)>5 ".
    				"AND T.GENRE = 'intercommunalité'";
    		break;
    		...
    		default: 
    		die("objet inconnu");		
    		break ;
    		}
    	echo $sql3;
    // affiche : SELECT B.NOM "Commune", B.CO_INSEE "Code Insee", B.ARRONDIS "Arrondissement", B.CANTON "Canton", T.NOM AS EPCI FROM BT_COMMU B, TH_LIMAD T WHERE B.NOM = 'Aub�rive' AND SDO_ANYINTERACT(B.GEOMETRY, T.GEOMETRY) ='TRUE' AND (round(SDO_GEOM.SDO_AREA(SDO_GEOM.SDO_INTERSECTION(T.GEOMETRY,B.GEOMETRY, 0.001),0.010),3))>0.5 AND round((SDO_GEOM.SDO_AREA(SDO_GEOM.SDO_INTERSECTION(T.GEOMETRY,B.GEOMETRY, 0.001),0.010)/(SDO_GEOM.SDO_AREA(B.GEOMETRY,0.010)))*100,3)>5 AND T.GENRE = 'intercommunalité'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    $connexion = oci_connect("*****","$$$$$","%%%%%");	
        $nd = 0;
     
        $results=select_to_array($connexion, $sql3);
    	/* On crée un tableau pour placer les résultats */
    	echo '<table class="resultat">';
    	if (count($results)) // Si y'a des résultat 
    				{
     
    				reset($results); // se placer à la première ligne du tableau $results
    				//echo "<br>";
    				$i = 0;
    				foreach($results as $key=>$value) // Parcourir le tableau $results
    						{
    						if ($i===0) {
    						echo "<tr>";
    						foreach(array_keys($value) as $key) {
    								echo "<th>".sort_link($key,$key)."</th>";
    								}
    						echo "</tr>";			
    						++$i;
    						echo "<tbody>";
    						} 		
    						echo "<tr>";
     
    						foreach(array_values($value) as $val) {
    							echo "<td>";
    							if (is_null($val)) {echo '--';} 
    							else 
    							{
    							if (empty($val)) 
    							{echo '--';} else {echo $val;}}
    							echo "</td>";
    							}
    							echo "</tr>";
    						}
    				} else // Pas de résultat 
    				{
    					echo "Y'a personne";
    				}
    	echo "</tbody>";
    	echo "</table>";
        /* Un petit coup de balai */
    	oci_close($connexion);
     }
    /* Sinon on retourne un message d'erreur */
    else
    {
        echo("<p>Une erreur s'est produite. La région sélectionnée comporte une donnée invalide.</p>\n");
    }
     
     
    ?>

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre régulier Avatar de H.ile
    Profil pro
    Architecte de système d'information
    Inscrit en
    Janvier 2008
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Janvier 2008
    Messages : 122
    Points : 76
    Points
    76
    Par défaut
    Merci pour cette réponse.
    Meta changé, conversion des derniers fichiers php non convertis effectuée. Ai même ajouté le header. Par contre tout ceci sans résultat pour l'instant.
    J'ai un NLS_NCHAR_CHARACTERSET en AL16UTF16 dans ma base Oracle ; j'ai changé la chaîne de connexion en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $connexion = oci_connect("****","$$$$","§§§§§","AL16UTF16");
    Résultat je n'ai plus de résultat de requête.
    /edit :
    Cette connexion c'est moi qui indique que je transmet de l'UTF16, alors qu'il me faut dire : j'exige que tu transmettes de l'UTF8 :
    $connexion = oci_connect("****","$$$$","§§§§§","AL32UTF8")

    Désolé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affiche des horreurs en lieu et place de nos accents
    Par nanarou dans le forum Langage
    Réponses: 4
    Dernier message: 23/10/2008, 14h36
  2. [DOM] Création de lien dans des balise en place
    Par Super_baloo8 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 20/04/2007, 10h54
  3. Réponses: 10
    Dernier message: 13/09/2006, 09h13
  4. mes accents on disparus... ;-(
    Par jaimepasteevy dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 11/12/2003, 10h58
  5. que deviennent mes accents ?!
    Par petitdns dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 28/11/2002, 09h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo