Passez @lex Guestbook en utf-8

Pour vos questions au sujet de la personnalisation du script, des skins... - About customizing the script.

Modérateurs : boulmontjj, Pierre G., Malabar, Otomatic

Règles du forum
Pensez à effectuer une recherche et à consulter la FAQ, la réponse à votre question a de grandes chances d'avoir déjà été donnée ;-).
Dans votre message, n'oubliez pas de mentionner l'URL vers votre livre d'or, cela nous permet de vous aider bien plus efficacement :super:.
ehquionest
Messages : 115
Inscription : Ven 27 Juil 2007, 10:20
Contact :

Re: Passez @lex Guestbook en utf-8

Messagepar ehquionest » Mar 30 Déc 2014, 11:01

Et si je vous envoi mon fichier sql d'origine pouvez tester quelque chose ?

Otomatic
Modérateur
Modérateur
Messages : 751
Inscription : Ven 11 Août 2006, 09:33
Localisation : Paris
Contact :

Re: Passez @lex Guestbook en utf-8

Messagepar Otomatic » Mar 30 Déc 2014, 11:49

Bonjour,

Mettez-le à disposition sous forme de fichier zippé sur un site de dépôt et mettez le lien ici.
Ce n'est pas par ce que l'erreur se propage qu'elle devient vérité. Gandhi

ehquionest
Messages : 115
Inscription : Ven 27 Juil 2007, 10:20
Contact :

Re: Passez @lex Guestbook en utf-8

Messagepar ehquionest » Mar 30 Déc 2014, 12:11


Otomatic
Modérateur
Modérateur
Messages : 751
Inscription : Ven 11 Août 2006, 09:33
Localisation : Paris
Contact :

Re: Passez @lex Guestbook en utf-8

Messagepar Otomatic » Mar 30 Déc 2014, 16:36

Bonjour,
C'est bien ce que j'ai écrit précédemment : Il manque les instructions DROP TABLE `xxxxxx` IF EXISTS;
Ce qui fait que vous voulez insérer des données dans des tables existantes et avec les mêmes id que celles qui existent déjà, d'où erreurs inévitables.
De plus, partout les interclassement (collation) sont latin1_german1_ci qui existe bien, mais que vous avez transformé en utf8_german1_ci qui n'existe pas.

Au début de votre fichier, vous ajoutez des drop table après
-- Base de données: `laiu_terreadelie_livredor`
--
pour obtenir, au final :

Code : Tout sélectionner

-- Base de données: `laiu_terreadelie_livredor`
--
DROP TABLE IF EXISTS `alex_livre_config`;
DROP TABLE IF EXISTS `alex_livre_txt_lang`;
DROP TABLE IF EXISTS `alex_livre_sessions`;
DROP TABLE IF EXISTS `alex_livre_users`;
DROP TABLE IF EXISTS `alex_livre_messages`;
DROP TABLE IF EXISTS `alex_livre_censure`;
DROP TABLE IF EXISTS `alex_livre_ban`;
DROP TABLE IF EXISTS `alex_livre_smileys`;
DROP TABLE IF EXISTS `alex_livre_img_verif_add`;


Puis, vous remplacez toutes les occurrences de latin1 par utf8 puis toutes les occurrences de german1_ci par general_ci
Ce n'est pas par ce que l'erreur se propage qu'elle devient vérité. Gandhi

ehquionest
Messages : 115
Inscription : Ven 27 Juil 2007, 10:20
Contact :

Re: Passez @lex Guestbook en utf-8

Messagepar ehquionest » Mar 30 Déc 2014, 16:59

Merci...
Donc j'ai ajouté les drop tables comme indiqué, puis remplacé latin1 par utf8 puis toutes les occurrences de german1_ci par general_ci, j'ai ensuite importé le fichier sql et voici :

Code : Tout sélectionner

Erreur

Requête SQL:

-- --------------------------------------------------------
--
-- Structure de la table `alex_livre_ban`
--
CREATE TABLE IF NOT EXISTS `alex_livre_ban` (
`id_ban` mediumint( 11 ) unsigned NOT NULL AUTO_INCREMENT ,
`ip` varchar( 15 ) COLLATE general_ci_general_ci NOT NULL DEFAULT '',
`pseudo` varchar( 40 ) COLLATE utf8_general_ci NOT NULL DEFAULT '',
`email` varchar( 150 ) COLLATE utf8_general_ci NOT NULL DEFAULT '',
PRIMARY KEY ( `id_ban` )
) ENGINE = MYISAM DEFAULT CHARSET = utf8 COLLATE = utf8_general_ci AUTO_INCREMENT =1;

MySQL a répondu: Documentation
#1273 - Unknown collation: 'general_ci_general_ci'

Otomatic
Modérateur
Modérateur
Messages : 751
Inscription : Ven 11 Août 2006, 09:33
Localisation : Paris
Contact :

Re: Passez @lex Guestbook en utf-8

Messagepar Otomatic » Mar 30 Déc 2014, 18:57

Bonjour,

Ne pourriez-vous pas réfléchir un peu tout seul :siffle:
Il est dit, dans le message d'erreur : Unknown collation: 'general_ci_general_ci'. Même si on ne connait absolument pas l'anglais, un petit coup de Google traduction pour obtenir : Inconnu classement: «general_ci_general_ci ', donc, interclassement (collation) general_ci_general_ci inconnu.
En effet, vous avez, dans le fichier :

Code : Tout sélectionner

`ip` varchar( 15 ) COLLATE general_ci_general_ci NOT NULL DEFAULT '',

Vous n'avez pas suivi exactement ce que j'avais écrit :
- remplacez toutes les occurrences de latin1 par utf8
puis
- toutes les occurrences de german1_ci par general_ci

Par acquit de conscience, je viens de le refaire dans votre fichier, et il n'y a pas cette erreur.
Ce n'est pas par ce que l'erreur se propage qu'elle devient vérité. Gandhi

ehquionest
Messages : 115
Inscription : Ven 27 Juil 2007, 10:20
Contact :

Re: Passez @lex Guestbook en utf-8

Messagepar ehquionest » Mar 30 Déc 2014, 19:16

Bonjour !

Je n'y comprends plus rien, car en faisant "rechercher" dans le fichier sql aucune occurrence latin1 et german1_ci ne sont trouvées. Ce qui pour moi est logique car j'ai fait "rechercher" latin1 et "remplacer" par utf8 (idem pour german1_ci et general_ci)

J'ai d'ailleurs remis le fichier modifié ici : http://www.sblanc.com/_DocsTemp/laiu_te ... redor1.zip

Donc oui dans le fichier les occurrences ont été remplacées... Je ne vois plus là, à moins que je n'ai pas compris ce que vous vouliez dire par "remplacer les occurrences"...
Merci encore !
Samuel

Otomatic
Modérateur
Modérateur
Messages : 751
Inscription : Ven 11 Août 2006, 09:33
Localisation : Paris
Contact :

Re: Passez @lex Guestbook en utf-8

Messagepar Otomatic » Mar 30 Déc 2014, 19:49

Bonsoir,

Mais, dans le nouveau fichier, vous avez bien, ligne 40

Code : Tout sélectionner

`ip` varchar(15) COLLATE general_ci_general_ci NOT NULL DEFAULT '',
et c'est bien ça qui ne va pas.
Il devrait y avoir :

Code : Tout sélectionner

`ip` varchar(15) COLLATE utf8_general_ci NOT NULL DEFAULT '',


remplacer toutes les occurrences veut dire remplacer toutes les apparitions d'une même suite de caractères dans un texte, donc toutes les suites de caractères composées de latin1 doivent être remplacées par utf8 ensuite, toutes les suites de caractères composées de german1_ci doivent être remplacées par general_ci. A priori, c'est bien ce que vous aviez fait et je ne peut pas expliquer l'apparition de cette erreur en ligne 40 que vous devez corriger avant import.
Ce n'est pas par ce que l'erreur se propage qu'elle devient vérité. Gandhi

ehquionest
Messages : 115
Inscription : Ven 27 Juil 2007, 10:20
Contact :

Re: Passez @lex Guestbook en utf-8

Messagepar ehquionest » Mar 30 Déc 2014, 20:02

Très bien merci j'y vois plus clair et c'est corrigé ;-) J'ai importé un nouveau fichier et cette fois-ci un autre massage d'erreur :

Code : Tout sélectionner

Erreur

Requête SQL:

--
-- Contenu de la table `alex_livre_ip`
--
INSERT INTO `alex_livre_ip` ( `id_ip` , `ip` )
VALUES ( 1, '211.53.130.156' ) , ( 2, '76.20.178.196' ) , ( 3, '68.74.72.5' ) , ( 4, '69.243.65.22' ) , ( 5, '84.19.176.137' ) , ( 6, '83.87.208.170' ) , ( 7, '70.177.232.148' ) , ( 8, '201.12.172.58' ) , ( 9, '219.139.130.13' ) ;

MySQL a répondu: Documentation
#1062 - Duplicate entry '1' for key 'PRIMARY'


Cela semble concerner les ip...

Malabar
Admin
Admin
Messages : 4073
Inscription : Lun 07 Août 2006, 09:46
Localisation : Lorient
Contact :

Re: Passez @lex Guestbook en utf-8

Messagepar Malabar » Mar 30 Déc 2014, 22:48

Vous n'avez pas importé tout le fichier SQL. Otomatic vous l'a modifié avec des DROP TABLE IF EXISTS. Cette instruction indique de supprimer la table si elle existe déjà.
Et l'erreur que vous avez indique que vous essayez d'ajouter des données en double dans la table alex_livre_ip. Si la table avait été supprimée comme indiqué précédemment par Otomatic ce ne serait pas possible...
Le mâle à barre (Maxime)

ehquionest
Messages : 115
Inscription : Ven 27 Juil 2007, 10:20
Contact :

Re: Passez @lex Guestbook en utf-8

Messagepar ehquionest » Mer 31 Déc 2014, 05:09

Parfait, merci tout est rentré dans l'ordre, l'importation est effectuée, je vais reprendre où je/nous en étions dans l'autre post pour régler mes soucis d'accents !
Merci encore...
Samuel

grhump
Messages : 5
Inscription : Ven 02 Jan 2015, 14:33

Re: Passez @lex Guestbook en utf-8

Messagepar grhump » Ven 02 Jan 2015, 14:42

Bonjour,

J'ai suivi cette procédure et tout marche excepté
- la notification automatique reçu par mail lors de l'ajout d'un message (qui inclut le message posté sur le livre d'or).
- le message de remerciement automatique.

Dans ces mails, les accents ou caracteres spécifiques ne sont pas bien transmis.


Exemple:

Message posté sur el livre d'or:
atchopum é à PÜ

Message reçu par email
Nouveau message dans le livre d'or http://www.reikitoulouse.fr/agb/add_message.php :

-------------------------------------------
IP : XXX
Nom ou pseudo : grhum

Message :
atchopum é à PÜ
-------------------------------------------

Powered by @lex Guestbook 5.0.4 - http://www.alexguestbook.net/

Des idées?

Merci et bonne année!

Grhump

Otomatic
Modérateur
Modérateur
Messages : 751
Inscription : Ven 11 Août 2006, 09:33
Localisation : Paris
Contact :

Re: Passez @lex Guestbook en utf-8

Messagepar Otomatic » Ven 02 Jan 2015, 17:01

Bonjour,

Le message de remerciement automatique est mémorisé dans la table alex_livre_txt_lang et, il a été passé en utf8 par la procédure.
Quant aux messages de notification, ils ne posent aucun problème avec mon Livre d'Or ; je viens juste de refaire un essais.
Je ne comprends pas où pourrait être le problème.
Nota : « atchopum é à PÃœ » est une chaîne de caractères codée utf-8 vue dans un environnement iso-8859-1 (ou Windows CP1252)
Ce n'est pas par ce que l'erreur se propage qu'elle devient vérité. Gandhi

Otomatic
Modérateur
Modérateur
Messages : 751
Inscription : Ven 11 Août 2006, 09:33
Localisation : Paris
Contact :

Re: Passez @lex Guestbook en utf-8

Messagepar Otomatic » Ven 02 Jan 2015, 17:27

Re-bonjour,
Vérifier et modifier si nécessaire, dans le fichier mon_livre_or\add_message.php que les envois des deux types de messages sont bien précisés en utf-8, donc, deux fois :

Code : Tout sélectionner

$entetemail .= "Content-type: text/plain; charset=utf-8\r\n";

:merci: Désolé, je l'avais oublié dans la procédure, mais, comme précisé au départ, elle a été écrite a postériori et non pas en temps réel.
Ce n'est pas par ce que l'erreur se propage qu'elle devient vérité. Gandhi

grhump
Messages : 5
Inscription : Ven 02 Jan 2015, 14:33

Re: Passez @lex Guestbook en utf-8

Messagepar grhump » Dim 04 Jan 2015, 15:50

merci otomatic. ça corrige bien le pb


Revenir vers « Personnalisation - tuning »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 6 invités