|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Sebastien Inscription : mars 2011 Messages : 4 ![]() |
Bonjour,
Voilà 2h que je me tue à essayer de résoudre ce problème : J'ai une requête comportant un champs "NClés", qui est mal interprétée à cause de l'accent... J'ai essayé moult fonctions d'encodage en PHP et rien y fait, je ne gère pas la base, le champs doit donc rester tel quel. J'ai essayé également l'instruction SET NAMES 'utf8' qui me renvoit un joli "Requête invalide : Unknown system variable 'NAMES' ". Que faire ? Que fait la police ? Pourquoi les gens s'amusent-ils à mettre des accents dans les noms de colonnes ? Quel est le muscle ? Edit : j'ai précisé que la base est en 4.0 car les fonctions qui permettent de changer l'encodage (character_set_results par ex.) n'ont été implémentées qu'à partir de la 4.1 ... |
|
|
00
|
|
|
#2 |
|
Invité régulier
![]() Sebastien Inscription : mars 2011 Messages : 4 ![]() |
Personne pour éclairer ma lanterne ?
Je vais tenter un select * et une récupération différente, ce que je voulais éviter mais tant pis ! Edit : temporairement, une seconde requête séparée a été effectuée (mêmes critères avec un select *) afin de récupérer uniquement le champs avec accent... et le récupérer avec mysql_fetch_array() en accédant à son indice. C'est moche, mais si certains bloquent et que ça peut aider... Sinon il y a la fonction SET CHARACTER SET('encodage') mais seul le jeu cp1251_koi8 est disponible par défaut, j'ai donc du demander l'ajout du mapping utf8 au gérant de la base pour pouvoir peut-être utiliser ce dernier recours. |
|
|
00
|
|
|
#3 |
![]() ![]() |
Effectivement, nommer une colonne (et pas champ !
Pendant que tu iras engueuler le concepteur de la BDD, profites-en pour lui dire que MySQL 4 ça fait belle lurette que c'est obsolète ! Sinon il faut peut-être que ce soit ton fichier PHP qui soit encodé en Latin1 pour que le bon caractère soit bien interprété par l'ancêtre MySQL 4 ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
10
|
|
|
#4 |
|
Invité régulier
![]() Sebastien Inscription : mars 2011 Messages : 4 ![]() |
En effet, LoLesque pour un soit-disant spécialiste en solution BDD
Il n'y a d'après eux aucune raison pour mettre à jour, éventuels problèmes de compatibilités au niveau des connecteurs ODBC, ils ne peuvent pas changer les noms de champs cause que z'ont plein de clients... Du blabla en somme. D'autant que j'ai vu que 4.0 vers 4.1 c'est pas si dangereux, et pas la mer à boire ! Et pour la petite histoire, dans la lignée base bien pensée, ils utilisent aussi des double pour des données qui ne nécessitent pas plus que int, et encore... (genre nombre de pièces pour un logement). Maintenant je sais que mysql 4.0, c'est mal ![]() Edit : pour le fichier en latin1, j'ai aussi essayé... sans succès. Et le site est en utf8, ce qui n'arrange rien (conversions massivent) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com