Des accents dans le libellé des champs

Mammouth du PHP | 737 Messages

09 déc. 2011, 11:38

Bonjour,

On m'a fourni un livrable pour un environnement sql/oracle.

Quand je fais un SELECT *, ma requête me renvoie bien tous les champs et toutes les valeurs.

Quand je fais un SELECT sur le champ libellé, je n'ai aucune valeur qui remonte mais pas d'erreur pour autant.

Y'a t-il une raison particulière à ce dysfonctionnement ? Perso, en local avec wamp j'y arrive bien même si je sais que des accents dans des noms c'est déconseillé. Existe-il une solution comme l'utf8_encode/decode sur les valeurs des champs mais direct en sql ?

Par avance merci pour votre aide.

Cdlt,

Mega
;)
Dyslexics are teople poo

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

10 déc. 2011, 02:14

salut,

est ce que tu peux être plus clair .

Où est ce que ça coince ?

je n'ai pas testé avec des accents, mais je peux

tu peux indiquer si la chaine est en unicode avec _N('la chaine') (national caractère) si je me souvient bien

fait gaffe oracle retourne des nom de champ en majuscule :)

@+
Il en faut peu pour être heureux ......

Mammouth du PHP | 737 Messages

12 déc. 2011, 01:22

Bonjour et merci de ton intervention.

En fait le j'ai un champ je dis bien champ et pas données qui est écrit avec un accent en base id, photo, libellé et les valeurs apparaissent quand je fais un SELECT * et pas quand je fais un SELECT libellé, la requête ne renvoie pas d'erreur mais pas de valeurs pour autant. Tu me suis ?

Mega
;)
Dyslexics are teople poo

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

12 déc. 2011, 09:27

Oula pas trop :/

Tu a un nombre de tuple retourné à zéro ?

Tu utilise l'extension oci ou pdo ?

J'ai une version 11g sur mon poste je vais tester ce matin voir ce que ça donne.

Tu ne peux pas simplement faire un alter table ? :roll:

Si tu trouve le mec qui a pondu ça dit lui que les anglophones aime pas les accents ;)

Je dit ce que ça donne des j'ai testé.

EDIT :
a testé PDO retourne bien LIBELLÉ !

en utf8 j'ia testé un truc tout con
<!DOCTYPE html>
<html lang="fr">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
        <title>Suivis de budget</title>
        <link href="css/style.css" rel="stylesheet" type="text/css" />
        <!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
    </head>
    <body>
<?php
    try {
    $pdo = new PDO ('oci:dbname=//localhost:1521/cdi11;charset=UTF8', 'test', 'tipounet');
    $r = $pdo->query('select libellé from testage');
    while($d = $r->fetch(PDO::FETCH_OBJ)){
        echo $d->LIBELLÉ.'<br />';
        //var_dump($d);
    }
    }
    catch (Exception $e){
        echo 'Erreur : '.$e->getMessage();
    }
    echo '<hr/>fin';
?>
    </body>
</html>
résultat : pas d'erreur ça affiche bien ce que j'ai mis dans la table.

Par contre si tu met libellé, y a une erreur comme quoi il est impossible de trouvé l'index / propriété dans le tableau / l'objet.
@+
Il en faut peu pour être heureux ......