[MYSQL ]migration vers 4.1

armel
Invité n'ayant pas de compte PHPfrance

10 mars 2005, 10:31

Bonjour,

Je suis en train de migrer des applis de 4.0 à 4.1.

Globalement, pas de problème.
(
J'ai simplement dû modifier des mysql_db_query en mysql_query
(j'avais même oublié que j'en utilisais)
)

Un petit problème subsiste :
les accents ou plus précisément les accents dans la zone COMMENT
de chaque table.

En effet dans les champs de chaque table, pas de problème, tout est impec. (un é reste un é).

Par contre, dans la zone COMMENT, "année 2003" devient ann饠2003.

Je ne sais pas si c'est important, mais en 4.0, je remplis mes "COMMENT"
avec la comande suivante :
ALTER TABLE ttt COMMENT = 'année 2003 ....'


Par avance, merci.

Mammouth du PHP | 1885 Messages

10 mars 2005, 18:29

Ceci est dû à l'encodage attribué aux tables et aux champs.
Je ne me souviens pas avoir vu de champs "commentaires" dans la structure des tables. Peut-être est-ce une fonctionnalité de phpMyAdmin et que donc, l'encodage de ce champ relève d'une autre base ou table dédiée à phpMyAdmin?
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Petit nouveau ! | 1 Messages

10 mars 2005, 18:48

Non , COMMENT est une option de table MYSQL

table_option:
{ENGINE|TYPE} = {BDB|HEAP|ISAM|InnoDB|MERGE|MRG_MYISAM|MYISAM}
| AUTO_INCREMENT = value
| AVG_ROW_LENGTH = value
| CHECKSUM = {0 | 1}
| COMMENT = 'string'
| MAX_ROWS = value
| MIN_ROWS = value
| PACK_KEYS = {0 | 1 | DEFAULT}
| PASSWORD = 'string'
| DELAY_KEY_WRITE = {0 | 1}
| ROW_FORMAT = {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT}
| RAID_TYPE = { 1 | STRIPED | RAID0 }
RAID_CHUNKS = value
RAID_CHUNKSIZE = value
| UNION = (tbl_name[,tbl_name]...)
| INSERT_METHOD = { NO | FIRST | LAST }
| DATA DIRECTORY = 'absolute path to directory'
| INDEX DIRECTORY = 'absolute path to directory'
| [DEFAULT] CHARACTER SET charset_name [COLLATE collation_name]

Mammouth du PHP | 1885 Messages

10 mars 2005, 19:09

Bien vu ;)

À partir de quel encodage affiches-tu phpMyAdmin? Car il semblerait que ce commentaire soit en iso-8859-1 et que l'affichage de la page se fait en UTF-8.

Maintenant la question est: Qui contrôle l'encodage du commentaire?
Est-ce l'encodage de la page qui soumet le formulaire de création de table?
Est-ce l'encodage par défaut du serveur MySQL?
Est-ce l'encodage définit lors de la création de la page?

Peut-être est-ce un bug du coté de phpMyAdmin. :)
La programmation est l'expression de la poésie d'un programmeur
Génération PHP