Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forum osCommerce-fr _ Installation de la boutique _ [Résolu] Passage à UTF-8

Écrit par : Dudule 20 Oct 2013, 00:22

Bonjour,
Je viens de refaire une installe de ma boutique sur un serveur de test afin de la passer au format de caractères UTF-8.
J'ai converti tous les fichiers code et languages, modifié le format de la basse de données en utf8_general_ci ainsi que le charset dans french.php.

Mais je me retrouve avec des caractères mal codés qui proviennent de la basse de donnée du genre : D�tails clients ou Propri�taire de la boutique...

J'ai fait la conversion de la base avec :
Conversion de la base :
ALTER DATABASE nomdelabase CHARACTER SET UTF8 ;

puis conversion des tables :
ALTER TABLE additional_images CONVERT TO CHARACTER SET UTF8 ;
ALTER TABLE address_book CONVERT TO CHARACTER SET UTF8 ;
.....
....


puis :
ALTER TABLE additional_images CHARACTER SET UTF8 ;
.....
......

D'où cela pourrait-il venir ?
Merci.

Écrit par : Bonbec 20 Oct 2013, 07:44

Bonjour,

Modifier le charset uniquement dans le fichier french n'avait pas été bon pour moi.
J'ai ajouté ceci en tête de chaque fichier de page :
header('Content-Type: text/html; charset=utf-8');
J'avais aussi modifié la ligne META Content-Type en
<META http-equiv="Content-Type" content="text/html; charset=utf-8">

J'avais aussi converti et enregistré toutes mes pages en utf-8 sans BOM.

Pour Mysql dans les fichiers de connexion à la bdd, j'avais ajouté ceci :
mysql_set_charset('utf8', $$link);

De mémoire c'est ce que j'avais fait.

Écrit par : Dudule 20 Oct 2013, 10:30

Bonjour,

Citation (Bonbec @ 20 Oct 2013, 08:44) *
J'ai ajouté ceci en tête de chaque fichier de page :
header('Content-Type: text/html; charset=utf-8');
J'avais aussi modifié la ligne META Content-Type en
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
J'ai fait ça dans le fichier french.php et ça a l'air de fonctionner

Citation (Bonbec @ 20 Oct 2013, 08:44) *
mysql_set_charset('utf8', $$link);
Ou est-ce que tu rajoutes cela ?
Ma base est bien convertie en UTF-8, j'ai refait par dessus :
iconv -f iso-8859-1 -t utf-8 oscommerce.sql > oscommerce.utf8.sql
et les caractères s'affichent bien dans l'admin mais lorsque je vais sur phpmyadmin j'ai :
Champ 'From' d'un email envoyé
et dur dur de modifier la BDD en phpmyadmin sans passer par l'admin.
Pourtant dans la BDD de la version UTF-8 de oscommerce (http://addons.oscommerce.com/info/6857) les caractères y sont bien affichés.

Le but était d'avoir quelque chose de standard et écrire simplement les caractères accentués sans utiliser les &eacute; ....

Je vais refaire la procédure pour voir.

Écrit par : Dudule 20 Oct 2013, 11:30

Citation (Bonbec @ 20 Oct 2013, 08:44) *
Pour Mysql dans les fichiers de connexion à la bdd, j'avais ajouté ceci :
mysql_set_charset('utf8', $$link);


Je l'ai ajouté et ça marche.
Code
    if ($$link) mysql_select_db($database);
// début ajout
    mysql_query("SET NAMES 'UTF8'");
// fin ajout
    return $$link;
  }

Merci beaucoup une nouvelle fois.

Écrit par : Bonbec 20 Oct 2013, 19:57

Bonsoir,
Content de voir que tu t'en es sorti malgré mon absence de réponse à ta question, famille oblige.
N'oublie pas aussi l'admin pour le mysql_query("SET NAMES 'UTF8'");.

Écrit par : Dudule 27 Oct 2013, 20:36

Salut,

J'ai fait les 2 en même temps.
En fait ça semble fonctionner sans convertir la DB mais juste en convertissant les fichiers de language et ajoutant mysql_query("SET NAMES 'UTF8'");.

Il ne me reste plus que régler le problème pour mes factures PDF mais je ne m'y suis pas encore penché dessus.

Encore merci.

Écrit par : skieur 31 May 2019, 12:02

Bonjour,
si çà peut servir a d'autres

select CONCAT('ALTER TABLE ', table_name, ' CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci ;') from information_schema.tables where table_schema= 'skitraceboutique'

puis copier coller le résultat penser à cocher dans les options teste complet à la place de réduit

select CONCAT('ALTER TABLE ', table_name, ' CHARACTER SET UTF8 ;') from information_schema.tables where table_schema= 'skitraceboutique'

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)