Aide - Recherche - Membres - Calendrier
Version complète : [Résolu] Passage à UTF-8
Forum osCommerce-fr > Les Bases d'OsCommerce MS2 > Installation de la boutique
Dudule
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.
Bonbec
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.
Dudule
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.
Dudule
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.
Bonbec
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'");.
Dudule
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.
skieur
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'
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2020 Invision Power Services, Inc.