Fork me on GitHub






Convertir les caractères ISO-8859-1 vers UTF-8 de ma base
Aspirant
Inscrit: 29/11/2004 16:13
Messages: 79
Bonjour,

voici un problème qui semble toucher pas mal de monde mais les solutions à ce problèmes sont souvent confus et peu pratiques pour l'utilisateur novice.
Il manque un vrai pas à pas avec une description précise de la marche à suivre.

Mon site : http://www.harmonieregioncentre.com/
fonctionne avec le jeu de caractère ISO-8859-1 (latin1) et il est multilangue.
Jusqu'ici tout fonctionne très bien.
Or je décide d'installer XoopsGallery basé sur Gallery2 :
http://xoopsgallery.org/
http://gallery.menalto.com/

Cette webApp utilise le codage UTF-8, c'est là que les problèmes commencent.
Dès que je charge xoopsgallery dans mon site xoops, la page Gallery donne des caractères accentués remplacés par des ?.

Je décide donc après migration de ma base sur un serveur MySQL 4.1 (qui gère l'utf-8) de convertir ma base de donnée.
Nouveau problème, les caractères accentués sont sous forme brute (c-à-d. les « é » ne sont pas sous leur entité html, « é »)
Je trouve une aide ici :
http://www.spip-contrib.net/Comment-passer-son-site-en-utf-8
cette procédure est fastidieuse et au final, j'ai pas mal d'erreurs dans ma base (j'ai supprimé des caractères en faisant des remplacements par lot).

Je recharge ma nouvelle base de donnée avec les entités html dans MySQL.

Enfin je découvre ici :
http://www.xoops.org/modules/newbb/vi ... id=213021#forumpost213021
qu'il faut changer les paramètres du fichier global.php dans "language/french/global.php" (à la racine du site)
je remplace iso-8859_1 par UTF-8.
et là, les caractères accentués sont de nouveau bien affichés.

Je récapitule, il faut :
1- sauvegarder sa base de donnée (après la purge de la table xoops_session pour gagner en légerté)
2- convertir les caractères accentués sous forme « brute » par leur entité html
3- restaurer cette nouvelle base de donnée
4- mondifier le characterset de "language/french/global.php" en UTF-8
5- installer xoopsGallery2

Problèmes :
1- incompatibilité avec les anciens navigateurs qui n'interprètent pas l'UTF-8 (pas grave pour moi).
2- j'ai des caractères accentués remplacés par des ? qui restent dans la partie administration du site, pourquoi?

Questions :
1- Quelqu'un connaît-il une application pour MacOS (ou WINDOWS) qui se charge de la conversion automatique des caractères accentués bruts en entité html?
2- Quelqu'un saurait-il changer xoopsGallery2 pour qu'il soit iso-8859_1 et non UTF-8?
ici, il y a une piste (mais qui ne fonctionne pas chez moi) :
http://codex.gallery2.org/index.php/G ... est.22.._what_is_wrong.3F

Si vous voyez des oublis, faites nous part de vos découvertes.

P.S. il y a une discussion à propos du problème de charset ici :
http://xoopsgallery.org/modules/newbb ... forum=4&post_id=2405#2405
--
olico

xoopsInfo :
Url du site : http://www.harmonieregioncentre.com
Version de Xoops : XOOPS 2.0.16
Thème Xoops : OHRC2
Jeu de templates : default
Version PHP : 4.4.2
Version MySQL : 4.1.22
Logiciel serveur : Apache
Navigateur : Mozilla/5.0 (Macintosh; U; Intel Mac OS X; fr) AppleWebKit/418.9.1 (KHTML, like Gecko) Safari/419.3

Posté le : 01/02/2007 15:07

Edité par olico sur 07/02/2007 16:30:10

--
olico
Partager Twitter Partagez cette article sur GG+
Re: [help] Convertir le charset est devenu inutile pour xoopsgallery
Aspirant
Inscrit: 29/11/2004 16:13
Messages: 79
Bonjour,
après de nombreux tâtonnements, j'ai trouvé comment rendre compatible Gallery2 avec un site encodé en iso-8859-1.

Dans le répertoire modules>xg2.1
éditer le fichier index.php.

après la ligne suivante :
$xg2bodyHtml=$xg2data['bodyHtml'];


ajouter ceci :
$xg2bodyHtml utf8_decode($xg2bodyHtml);


C'est tout.
@+
--
olico

Posté le : 02/02/2007 11:46

--
olico
Partager Twitter Partagez cette article sur GG+
Re: [help] Convertir le charset est devenu inutile pour xoopsgallery
Aspirant
Inscrit: 29/11/2004 16:13
Messages: 79
Bonjour,

finalement j'ai remplacé ceci :
$xg2bodyHtml utf8_decode($xg2bodyHtml)

par cela :
$xg2bodyHtml GalleryCoreApi::convertFromUtf8($xg2bodyHtml$encoding);

Qui devrait fonctionner dans tous les cas de figure car cette commande utilise l'Api de Gallery qui est ajoutée lors de l'installation de xoopsgallery.

J'espère que ce sera utile.
--
olico

Posté le : 07/02/2007 16:58

--
olico
Partager Twitter Partagez cette article sur GG+
Re: [help] Convertir le charset est devenu inutile pour xoopsgallery
Newbie
Inscrit: 16/01/2007 14:08
Messages: 3
Plus qu'utile !!

Je me demander comment j'allais me demerd* pour ce problème. Merci encore je teste cela dès ce soir !

Bab y Bivouac

Posté le : 12/07/2007 17:52
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

105 Personne(s) en ligne (82 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 105 | Plus ...