Fork me on GitHub




(1) 2 »


Xoops 2.3.3 charset et db charset
Aspirant
Inscrit: 13/04/2005 16:53
Messages: 66
Bonjour à tous,

j'ai installé la nouvelle version de Xoops (2.3.3) (j'en profite pour tirer mon chapeau à la team ;))

J'en suis donc satisfait mais, comme pas mal de gens sur ce forum, j'ai des problèmes en ce qui concerne les langues et les charset.

J'aimerais donc savoir si j'ai bien compris:

Je défini l'interclassement de la DB (moi je prend UTF-8 pour supporter toutes les langues)
Je défini le _CHARSET dans global.php de chaque langue (moi je prend UTF-8 pour l'anglais et ISO-8859-15 pour le français).

Tout ce passe bien mais lorsque je fais une insertion ou une mise à jour dans la DB, et que je suis en ISO-8859-15, et qu'il y a un caractère accentué, j'ai

Data too long for column 'content' at row 1

Je pense que le problème vient du query

SET NAMES 'utf8'

Puisque le charset de ma page est ISO-8859-15, cela ne devrait-il pas plutôt être

SET NAMES 'latin1'

?

D'avance merci
++

Posté le : 22/04/2009 16:00
Partager Twitter Partagez cette article sur GG+
Re: Xoops 2.3.3 charset et db charset
Semi pro
Inscrit: 19/08/2005 21:01
De 97221
Messages: 1980
Je comprend pas pourquoi tu fais compliqué, mets de l'utf8 aussi pour le français.
Pour les trad utf des modules
http://sourceforge.net/project/showfi ... =110739&package_id=304138

Posté le : 22/04/2009 16:33

Open in new windowOpen in new window
Partager Twitter Partagez cette article sur GG+
Re: Xoops 2.3.3 charset et db charset
Régulier
Inscrit: 09/04/2006 21:04
Messages: 423
Bonjour,

Si tu as défini ISO-8859-15 (latin9) ou ISO-8859-1 (latin1. c'est le mieux je pense), dans ton fichier langue Fr, il faut utiliser " SET NAMES 'latin1' ". Mais c'est un peu lord d'après ce que j'ai lu sur la toile, car tu demande à mysql de convertir les données en latin1 (iso-8859-1)à chaque requête. Si tu as accès à la configuration de mysql (le fichier my.cnf), tu définis les charset dans ce fichier pour que le serveur traite de manière naturelle.

Posté le : 22/04/2009 16:41

Développeur web.
Partager Twitter Partagez cette article sur GG+
Re: Xoops 2.3.3 charset et db charset
Régulier
Inscrit: 09/04/2006 21:04
Messages: 423
Citation :

Jah a écrit:
Je comprend pas pourquoi tu fais compliqué, mets de l'utf8 aussi pour le français.
Pour les trad utf des modules
http://sourceforge.net/project/showfi ... =110739&package_id=304138


Je ne sais pas si l'utf8 marche bien pour les nouvelles installations, mais pour les mises à jour (upgrades 2.0.18 >> 2.3.x) c'est la catastrophe. Moi je suis actuellement en train de faire marche arrière pour un site que j'avais mis en utf8. je remet tout en iso et ça marche beaucoup mieux. en plus pour le français ça suffit largement.

Posté le : 22/04/2009 16:46

Développeur web.
Partager Twitter Partagez cette article sur GG+
Re: Xoops 2.3.3 charset et db charset
Semi pro
Inscrit: 19/08/2005 21:01
De 97221
Messages: 1980
Pas de soucis sur instal neuve.
Après, je suis en train de tester des imports avec une BDD de PunBB en latin1, je ferrais par des soucis rencontrés.
Le premier soucis est de ma faute, la BDD est balèze, plus de 100 Mo et j'ai oublié de convertir la table des user en utf, et seul la fonction "éditer des membres" dans l'admin ne fonctionne pas.
Mais bon, je part en gros HS là

Posté le : 22/04/2009 17:03

Open in new windowOpen in new window
Partager Twitter Partagez cette article sur GG+
Re: Xoops 2.3.3 charset et db charset
Régulier
Inscrit: 09/04/2006 21:04
Messages: 423
Moi j'avais tout converti en utf8, la base de données entière, les fichiers langues etc. ça marchait bien à 98 %. Il y'avais toujours quelques données qui s'affichaient en iso.

Par contre je me suis toujours demander si Xoops 2.3.x utilise SET NAMES 'utf8' ou SET NAMES 'latin1' lorsqu'on a iso-8859-1 dans le fichier global.

Posté le : 22/04/2009 17:19

Développeur web.
Partager Twitter Partagez cette article sur GG+
Re: Xoops 2.3.3 charset et db charset
Aspirant
Inscrit: 13/04/2005 16:53
Messages: 66
Merci pour les réponses !

Citation :
Je comprend pas pourquoi tu fais compliqué, mets de l'utf8 aussi pour le français.


Mea Culpa: l'insertion d'accents en DB ne fonctionnait pas mais c'était à cause de mon code.

Donc, comme le dit Jah: je mets tout en UTF-8. J'en ai profité pour tester avec le chinois et cela semble fonctionner.

Ankyo: je mettais ISO-8859-15 puisqu'il parait que ça gère le caractère Euro...

Pour le SET NAMES, c'est Xoops qui le gère et je ne peux pas "hard-coder" la valeur puisqu'elle doit varier en fonction de la langue.
Et c'est là que je trouve qu'il y a un problème: Xoops fait un SET NAMES avec la valeur de XOOPS_DB_CHARSET (mainfile.php). On devrait pouvoir définir un XOOPS_DB_CHARSET différent pour chaque langue.
Pour les performances, j'espére que faire un SET NAMES 'utf8' sur une DB en utf-8 ne pose pas de problème car XOOPS 2.3.3 le fait systématiquement...

Pour la dernière question, il semblerait donc que Xoops 2.3.3 fasse un SET NAMES avec la valeur de XOOPS_DB_CHARSET (mainfile.php)

Donc en résumé: UTF-8 partout !!!
Merci à tous !!!
(Sorry de te faire te répéter Jah)

Posté le : 22/04/2009 18:16
Partager Twitter Partagez cette article sur GG+
Re: Xoops 2.3.3 charset et db charset
Régulier
Inscrit: 09/04/2006 21:04
Messages: 423
Citation :

hair_peace a écrit:
Pour la dernière question, il semblerait donc que Xoops 2.3.3 fasse un SET NAMES avec la valeur de XOOPS_DB_CHARSET (mainfile.php)


La define "XOOPS_DB_CHARSET" était vide chez moi c'est pour cette raison je pense que j'avais ce problème de charset.

Je viens essayé de mettre utf8 dans la define, et ça semble bien marcher en utf8. J'ai regardé dans les resulats de debug, et à première vue SET NAMES 'utf8'(si défini dans mainfile.php) est utilisé une seule fois à chaque connexion à la base de données.

Je continue mes tests et je vous tiendrais au courant.

Posté le : 22/04/2009 20:44

Développeur web.
Partager Twitter Partagez cette article sur GG+
Re: Xoops 2.3.3 charset et db charset
Xoops accro
Inscrit: 27/07/2005 16:10
De France
Messages: 2970
Bonjour
je rencontre également ses problèmes de caractères avec la 2.3.3 qui vient juste d'être installer.

Dans mon dossier global.php, la ligne "define("_CHARSET" est bien en utf-8

dans mon mainfile,j'ai bien "define( 'XOOPS_DB_CHARSET', 'utf8' );"

les modules sont bien traduit,seul le texte de validation d'inscription envoyé par messagerie comporte des caractères du genre -#249;-

pourquoi?

Posté le : 15/05/2009 18:07
Partager Twitter Partagez cette article sur GG+
Re: Xoops 2.3.3 charset et db charset
Xoops accro
Inscrit: 27/07/2005 16:10
De France
Messages: 2970
Citation :

tatane a écrit:
Bonjour
je rencontre également ses problèmes de caractères avec la 2.3.3 qui vient juste d'être installer.

Dans mon dossier global.php, la ligne "define("_CHARSET" est bien en utf-8

dans mon mainfile,j'ai bien "define( 'XOOPS_DB_CHARSET', 'utf8' );"

les modules sont bien traduit,seul le texte de validation d'inscription envoyé par messagerie comporte des caractères du genre -#249;-

pourquoi?


j'ai le même problème, s'il y a une réponse je suis preneur

Posté le : 05/06/2009 19:47
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
(1) 2 »



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

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