Les accents en 4.1, c'est du chinois :-)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Les accents en 4.1, c'est du chinois :-)

Peut-être autre problème

par lemoineo » 01 mai 2005, 13:55

Sans avoir trouvé une solution à ma question,
je pense que le problème se situe ailleurs ...
car une requête identique mais dans une procédure simple ramène bien
les ETAGES cherchés ...
En effet, j'utilise une couche POO pour accéder à mon noyau MYSQL,
ce qui ne facilite pas le débeuggage ...
Mais là, la question n'a pas l'air corrélé avec les CHARACTER SET

Merci à RIPAT pour son aide

par Ripat » 01 mai 2005, 08:40

Tu peux également forcer le charset d'une colonne avec

Code : Tout sélectionner

ALTER TABLE ta_table MODIFY ta_col CHARACTER SET jeux_de_caract

Ah, pour ça , c'est la galère !

par lemoineo » 30 avr. 2005, 22:58

Et oui, dur !
et pas de piste qui accroche ...
les données que tu proposes sont :
  • show collation like 'latin%' :
    latin1_german1_ci
    latin1_swedish_ci
    latin1_danish_ci
    latin1_german2_ci
    latin1_bin
    latin1_general_ci
    latin1_general_cs
    latin1_spanish_ci
    latin2_czech_cs
    latin2_general_ci
    latin2_hungarian_ci
    latin2_croatian_ci
    latin2_bin
    latin5_turkish_ci
    latin5_bin
    latin7_estonian_cs
    latin7_general_ci
    latin7_general_cs
    latin7_bin
puis
  • show character set like '%' :
    big5
    dec8
    cp850
    hp8
    koi8r
    latin1
    latin2
    swe7
    ascii
    ujis
    sjis
    hebrew
    tis620
    euckr
    koi8u
    gb2312
    greek
    cp1250
    gbk
    latin5
    armscii8
    utf8
    ucs2
    cp866
    keybcs2
    macce
    macroman
    cp852
    latin7
    cp1251
    cp1256
    cp1257
    binary
    geostd8
et rien pour la dernière commande
  • show variables like '%char'
plusieurs pistes balayées mais sans résultat
encore à essayer ! :wink:
utilisation de mysqli (on peut forcer le charset dans mysqli_connect)

par Ripat » 30 avr. 2005, 18:49

C'est toujours un peu angoisssant de répondre à un post concernant les accents. On s'y est tous cassé les dents un jour ou l'autre...

Seulement des pistes donc:

Si tu es en 4.1 vois du côté des character_set et, des collations.

Code : Tout sélectionner

SHOW COLLATION; SHOW CHARACTER SET; SHOW VARIABLES LIKE '%char';
Un peu plus d'info également:
http://dev.mysql.com/doc/mysql/fr/case-sensitivity.html
http://dev.mysql.com/doc/mysql/fr/chars ... arset.html

Tiens-nous au courant, ça nous servira certainement un jour. :wink:

par Cyrano » 30 avr. 2005, 17:57

OK, désolé pour l'erreur d'interprétation.

Pour ta requête, je vois rien d'anormal et je ne comprends pas pourquoi MySQL ne te retournerai rien s'il y a effectivement ce que tu demandes... :?:

Merci, mais ce n'est pas la question posée ...

par lemoineo » 30 avr. 2005, 17:54

Je vais être plus explicite dans ma question,
car je n'ai justement pas de problème avec PhpMyadmin :roll:

Quelle opération faut-il appliquer aux colonnes en MYSQL 4.1 pour qu'une requête SQL en PHP ramène la bonne réponse :

Code : Tout sélectionner

select * from LOCAUX where ETAGE='2ème'
et non aucune ligne !! :twisted:
alors qu'avec PhpMyadmin, la même requête ramène bien les LOCAUX situés au 2ème étage
pour Cyrano, je précise que mes tables n'ont pas d'accent dans les colonnes, et qu'elles sont codées en interclassement : latin1_bin :cry:

par Cyrano » 30 avr. 2005, 14:29

Salut,
la construction de bases de données répond à certains critères et certaines règles. Entre autre règles, comme pour les variables en PHP par exemple, on ne met JAMAIS d'accent, d'espace ou de caractères spéciaux pour nommer une table ou un nom de champ dans une table.

Ensuite, pour ne pas avoir de difficultés avec PHPMyAdmin, le mieux est de choisir un interclassement latin1_bin tout court, de préférence au latin1_bin_swedish.

Les accents en 4.1, c'est du chinois :-)

par lemoineo » 30 avr. 2005, 14:16

- Après avoir buté sur des accents sur les colonnes,
mesure drastique, ne pas en mettre ! Mais j'avais mes raisons. :twisted:

- Les données posent également problème :
Une table LOCAUX contient BATIMENT, ETAGE, BUREAU
et sur ETAGE, il y a 2ème, 3ème, etc ...
la conversion de 4.0 a 4.1 s'est faite sans problème (rien fait !) :shock:

- les tables se retrouvent au format "latin1_swedish_ci" !!
normal d'après la doc et les différents posts.
un export vers un format .CSV ne ramène que ce qui est attendu :lol:

- le problème Twisted Evil:
une requete avec l'ETAGE comme critère ne ramène rien quand il s'agit d'un ETAGE avec accent !!
cherche côté PHPMYADMIN, côté utf8, pas de solution évidente ...
a part repasser en 4.0 !!! :roll:

Image

- Et le site MYSQL semble pas mal se mélanger également les pinceaux
ce qui n'est pas pour me rassurer .... :?: