Comment convertir un site sous SPIP en iso-8859-1 ?

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par ortolojf, 28 Avril 2011.

  1. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 574
    J'aime reçus:
    32
    Bonjour

    Je suis en train de faire un site sous SPIP 2.1, j'ai configuré dès le début SPIP avec l'interface de configuration d'admin, en mode de charset iso-8859-1, mais la base de données spip n'a pas été touchée, théoriquement ( mais pas sûr ).

    Ce site http://www.lespronostics.com , utilise aussi une autre base de données, celle de l'autre site http://www.lescourses.com ( sur le même serveur dédié de mon site partenaire ), cette base de données est en natif en mode latin1, c'est-à-dire iso-8859-1, ce pourquoi j'avais l'intention depuis le début, de programmer le site ( pour le directeur de mon site partenaire sous SPIP ), en mode iso-8859-1.

    Je croyais, en toute innocence, que le fait d'avoir configuré dans l'interface d'administration du site sous SPIP, le type du site en iso-8859-1, ferait que je n'aurais plus de problèmes avec le charset.

    Mais, j'ai eu besoin du plugin "Crayons", pour donner à mon dirlo la possibilité d'éditer des "news" ( ou articles ) sur sa page d'accueil directement, ( en fait les news sont créées sur l'interface privée accessible en tant que rédacteur, et modifiables sur la page d'accueil ). A ce plugin "Crayons", j'ai adjoint pour le faire fonctionner, les plugins "Autorité" et "CFG".

    Mais vla-t-y pas, que quand j'essaye d'éditer une news ( = un article ), que ce soit sur l'espace privé ou en mode modification sur la page d'accueil, les voyelles accentuées font que le texte disparaît dès qu'il rencontre une voyelle accentuée.

    Tout se passe comme si, le contenu édité était entré au clavier en mode iso-8859-1 ( normal ), enregistré dans la table spip_articles en mode utf-8, et à la lecture ( en mode utf-8 au niveau de la base de données ), le résultat s'arrête à la première lettre non valide.

    D'où ma question : Je ne peux pas convertir la base de données secondaire de http://www.lescourses.com qu'utilise le site http://www.lespronostics.com pour ses données, en mode utf-8. Je suis obligé d'avoir un site sous SPIP en mode iso-8859-1.

    Mais... Comment convertir tout mon site sous SPIP, en mode iso-8859-1,de manière à ce que ce site, ainsi que tous les plugins que j'ai, et que je mettrai ultérieurement ( éventuellement, peut-être un plugin de forum, mais pas sûr ), se comportent définitivement entièrement en mode iso-8859-1 ?

    Celà devrait concerner la base de données SPIP, entre autres. Est-il possible de la convertir en mode iso-8859-1 entièrement, sachant que pour l'instant, il n'y a aucun article dedans ni contenu édité, mais est-il vrai, qu'il soit possible de convertir une bdd spip, en mode iso-8859-1, sans affecter le fonctionnement du site sous spip ?

    Et puis, quid de la compatibilité des plugins ultérieurs, avec ce mode ? Et, faut-il faire autre chose, comme par exemple, à ce que j'ai lu quelque part sur le net une instruction MySQL "SET NAMES='latin1';" après l'instruction de connexion spip_connect_db(), dans le script de configuration de base de données : /spip/config/lespronostics.php , instruction de préférence adaptée à la syntaxe des focntions MySQL de spip, et si oui, laquelle ?

    Merci beaucoup de vos réponse, qui me permettront peut-être, d'offirer à mon dirlo, la possibilité d'éditer ses news directement avec des voyelles accentuées, sans avoir besoin des codes html, comme c'est le cas actuellement.

    Merci beucoup de vos réponses.

    Bien à vous.

    Amicalement.

    Jean-François Ortolo
     
  2. bproductiv
    bproductiv WRInaute accro
    Inscrit:
    27 Décembre 2004
    Messages:
    3 677
    J'aime reçus:
    0
    Moi à ta place j'exporterai la totalité de la base et je convertirai le fichier sql en iso (grâce à mon éditeur qui fait ça très bien).
    Ensuite je m'assurerai que mes tables sont biens déclarées en iso machin, puis je réimporte.
     
  3. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 574
    J'aime reçus:
    32

    Bonjour Monsieur

    Et... Est-ce que spip va fonctionner en iso ( configuré en iso ), et ceci, également avec tous les plugins futurs que je pourrai y importer ?

    Simplement en vue pour l'instant : Un plugin de Forum, bien qu'il soit possible , d'associer un forum à chaque articles.

    Cependant, en spip je suis complètement nul en mise en place de forum, mais j'aurai prochainement, à mettre en place une telle fonctionnalité de forum, de préférence extensible en catégories et sous-catégories.

    Merci beaucou de votre réponse.

    Bien à vous.

    Amicalement.

    Jean-François Ortolo
     
  4. bproductiv
    bproductiv WRInaute accro
    Inscrit:
    27 Décembre 2004
    Messages:
    3 677
    J'aime reçus:
    0
    Alors là je ne peux pas dire grand chose, SPIP j'aime pas des masses, moins j'y touche mieux je me porte :)
    Allez voir directement sur le site de la communauté SPIP, ils seront mieux placés pour vous répondre.
     
  5. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 574
    J'aime reçus:
    32

    Bonjour Monsieur

    Merci beaucoup de votre réponse.

    Bien à vous.

    Amicalement.

    Jean-François Ortolo
     
  6. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    11 974
    J'aime reçus:
    121
    Le souci c'est que la communauté SPIP, du moins via leurs forums, n'est pas très réactive.

    A mon avis, en passant en ISO, tu risques surtout de te causer des problèmes futurs, car tu ne peux pas te garantir une bonne compatibilité avec les futurs plugins que tu vas installer, vu que certains ajoutent des tables.
     
  7. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 574
    J'aime reçus:
    32

    Bonjour UsagiYojimbo

    C'est bien ce que je pensais.

    J'ai donc intérêt apparemment à reconfigurer en utf-8, à convertir à la volée toutes les données provenant de la bdd de http://www.lescourses.com ( qui sont en en iso ) en utf-8, et à translater en écriture vers cette bdd, en iso-8859-1.

    Celà devrait être possible, vu que l'interface lecture/écriture entre la partie provenant de cette bdd, et celle située sur le site lui-même, est faible.

    Théoriquement, les seuls éléments à enregistrer du site vers cette bdd, sont les logins et les adresses emails des abonnés ( à la rigueur celà pourrait poser un problème de traduction vers iso/retour vers utf-8 dans certains cas ;( ) , et les mots de passe, mais ceux-ci sont imposés par Allopass, et sont constitués seulement de lettres majuscules sans accent et de chiffres, donc pas de problème de ce côté-là. Il y a aussi d'autres données calculées, comme des données de type date ou datetime, mais sous l'angle de chaînes de caractères, c'est de l'ascii pur, à part peut-être le signe moins des dates. Celà ne poserait pas de problèmes de conversion avec la fonction iconv() :

    $str_result = iconv("UTF-8", "ISO-8859-1//TRANSLIT//IGNORE", $str_source);

    //TRANSLIT permet de convertir de manière approximative si aucun équivalent strict n'est trouvé, et //IGNORE de sauter les caractères ne pouvant pas du tout être convertis.

    Pour les logins et les adresses emails, j'espère qu'il n'y aura pas de gros malins qui me mettent des caractères très tarabiscotés... De toute manière, ils n'y ont oas intérêt, vu que leur adresse email est censée être utilisable pour les joindre, même si en fait, elle ne sert qu'excessivement rarement, puisque c'est l'email donnée à Allopass au moment de l'abonnement, qui sert entre Allopass et l'abonné. Notre adresse email, ne nous sert qu'en cas de réclamation directe à notre site d'un abonné, et encore l'identification devrait être possible manuellement, entre le login et l'adresse email, car le traitement des réclamations ( par mon dirlo ), est toujours manuel. ( Il n'y a pas de procédure de rappel de mot de passe perdu ).

    Simplement, si je fais cette modification, qui sera assez grosse, j'aurai intérêt à ne rien oublier, et à adopter une démarche très systématique pour tous les scripts html et php du site ( démarche scientifique si l'on peut dire... ;) ), à charge de vériifier après coup, si tout fonctionne bien...

    L'alternative, étant d'obliger mon dirlo, à entrer ces news avec des voyelles accentuées sous forme de codes html, ( genre é pour é ) je vais lui demander d'abord si celà lui pose problème. ;)

    Mais... Comme le site est configuré actuellement en iso-8859-1, est-ce que par exemple, pour les statistiques de visites, les données des tables de stats, sont actuellement en iso, ou en utf-8 ?

    Ce n'était pas précisé sur l'interface de spip, qu'au cas où le choix était autre que utf-8, il faudrait convertir toute la base spip, et le type par défaut des tables, en latin1 ( pour le cas de l'iso-8859-1 ).

    J'ai fait cette configuration en iso, dès après l'installation de spip sur le site http://www.lespronostics.com de mon dirlo.

    D'autre part, pour les index des tables, je ne sais pas si c'est possible, sous MySQL, qu'il y ait des clés liées entre table MySQL, comme celà peut être le cas pour une bdd Oracle. Dans ce cas, migrer toutes les tables en latin1, de toute façon poserait de très gros problèmes, pratiquement insurmontables... ;(

    Je sais bien comment on migre une table et ses index en mode latin1 : Il suffit de faire :

    ALTER TABLE nom_table CONVERT TO CHARACTER SET latin1 COLLATE latin1_general_ci;

    ( On peut peut-être mettre latin1_swedish_ci au lieu de latin1_general_ci ).

    Il y a le risque que la conversion se passe mal... ;(

    ALTER TABLE nom_table DEFAULT CHARACTER SET=latin1; // Pour convertir le charset par défaut de la table.
    ANALYZE TABLE nom_table; // Pour vérifier que les index sont correctement modifiés.

    Mais... Si lors de la modification, il y a des index de tables différentes liés entre eux, bonsoir... ;(

    Merci beaucoup de ta réponse.

    Bien à vous.

    Amicalement.

    Jean-François Ortolo
     
Chargement...
Similar Threads - convertir SPIP iso Forum Date
Convertir un compte fb en page fb Facebook 24 Mars 2021
Convertir page web en UTF-8 Développement d'un site Web ou d'une appli mobile 26 Janvier 2020
Convertir un site htm en wordpress Développement d'un site Web ou d'une appli mobile 1 Décembre 2019
Astuce RewriteMap : convertir un .dbm.pag en txt ? Débuter en référencement 8 Juillet 2019
Lien rompu pour convertir un profil en page Facebook ? Facebook 28 Décembre 2015
[Aide] convertir balise <iframe> en <object> Développement d'un site Web ou d'une appli mobile 10 Septembre 2015
Convertir ses pages web en pdf pour traduction ou correction Développement d'un site Web ou d'une appli mobile 12 Juillet 2015
convertir chaine en date Développement d'un site Web ou d'une appli mobile 16 Avril 2014
HTML5 convertir page web ISO en UTF-8 Développement d'un site Web ou d'une appli mobile 25 Juillet 2013
img src=blob: comment convertir en fichier? Développement d'un site Web ou d'une appli mobile 26 Juin 2013
convertir date décimal Développement d'un site Web ou d'une appli mobile 18 Mai 2013
Convertir input checkbox Développement d'un site Web ou d'une appli mobile 27 Avril 2013
Convertir texte pour URL en PHP [Résolu] Développement d'un site Web ou d'une appli mobile 8 Mai 2012
Convertir les sauts de lignes en <br /> Le café de WebRankInfo 12 Octobre 2011
convertir mp4 avec ffmpeg Développement d'un site Web ou d'une appli mobile 14 Mai 2011
Arguments pour convertir une personne aux DIV et SPAN au lieu de TABLE Développement d'un site Web ou d'une appli mobile 11 Mai 2011
Convertir format video à la volée Développement d'un site Web ou d'une appli mobile 6 Mai 2011
Convertir chaine en code type &#111; ou #x6A; Développement d'un site Web ou d'une appli mobile 17 Novembre 2010
Comment puis-je convertir l'extension de mes très anciennes pages htm en html? Netlinking, backlinks, liens et redirections 25 Août 2010
Convertir inline CSS en règles ? Développement d'un site Web ou d'une appli mobile 5 Mars 2010