Accent en MYSQL 4.1 encore ?

Eléphant du PHP | 70 Messages

02 juin 2005, 18:59

En utilisant un moteur PHP5.0.4, les caractèristiques de mes outils sont :
phpMyAdmin 2.6.2
MySQL 4.1.12
Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)
Interclassement pour la connection MySQL: latin1_bin

- j'ai une base des droits de mon application avec un profil "Rédacteur" (avec un accent donc. Sous PhpMyadmin, on voit clairement "Rédacteur", tout à l'air normal donc.
- Mais exporté en CSV dans un fichier texte, on trouve "Rédacteur", ce qui est moins bien !!!
- Soit, je prends mon meilleur editeur, et remplace consciencieusement les disgracieux é et réimporte le tout par un LOAD DATA bien senti.
- Tout à l'air normal ... jusqu'au prochain export CSV ou je retrouve mes é tenaces ....

Quelqu'un comprend l'erreur que je commets nécessairement ,
cela fait des semaines que je me bats ....
J'aurais du rester en 4.0 , ces affaires d'accent, quelle barbe !!!

Mammouth du PHP | 19672 Messages

02 juin 2005, 19:35

Personnellement, j'ai eu le problème et je l'ai résolu en mettant une version plus ancienne de phpMyAdmin, je n'ai pas trouvé comment le forcer à utiliser un jeu de caractère correspondant :?

Comme je vois régulièrement cette question sur le forum, j'ai des raisons de croire que c'est un défaut de configuration par défaut de phpMyAdmin, mais je n'ai jamais pu trouver comment ajuster ce truc.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 57 Messages

08 juin 2005, 18:12

Après de nombreux essais et tirages de cheveux, je viens de comprendre que le navigateur entrait en ligne de compte dans la bonne gestion des accents.

La config suivante fonctionne effectivement....

hébergement mutualisé chez nexen
phpMyAdmin 2.6.1
MySQL 4.1.10
Language French (fr-utf-8)
Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)
Interclassement pour la connection MySQL : latin1_swedich_ci

... mais uniquement si j'utilise Internet Explorer (et non netscape).

Mammouth du PHP | 19672 Messages

17 nov. 2006, 23:37

Ceci est un vieux sujet que je remonte avec une solution pour ceux qui se donneront ultérieurement la peine de faire une recherche.

Lorsqu'on exporte un schéma ou quelques tables seulement, on peut choisir le jeu de caractère. Mais pour cela, il faut activer un des paramètres de la configuration de phpMyAdmin.

-1- Éditer le fichier phpMyAdmin/libraries/config.default.php
-2- Chercher la variable $cfg['AllowAnywhereRecoding'] et lui affecter la valeur TRUE au lieu de FALSE (par défaut)

Vous verrez alors dans le formulaire d'exportation une liste déroulante pour choisir le jeu de caractères à l'exportation.

Enjoy! :)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
ViPHP | 1961 Messages

18 nov. 2006, 02:01

Bonsoir,

Une autre variable intéressante quand la base est en UTF-8 c'est $cfg['DefaultCharset']
// Default charset to use for recoding of MySQL queries, does not take
// any effect when charsets recoding is switched off by
// $cfg['AllowAnywhereRecoding'] or in language file
// (see $cfg['AvailableCharsets'] to possible choices, you can add your own)
$cfg['DefaultCharset'] = 'utf-8';

// Allow charset recoding of MySQL queries, must be also enabled in language
// file to make harder using other language files than unicode.
// Default value is FALSE to avoid problems on servers without the iconv
// extension and where dl() is not supported
$cfg['AllowAnywhereRecoding'] = TRUE;
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein