Index du Forum » » Version future

Auteur

Passer REvolution 13 en UTF8
fliaigre
913      

  Posté : 14-05-2020 12:05

Mission accomplie.

Rev13 entièrement en utf8 ce qui lui permet de fonctionner avec PHP 5.6.

Récupération des fichiers par FTP.

Récupération de la base avec phpmyadmin sur la base d'une installation Webserver64 paramétrée en php 5.6 coté client et paramétrage Wampserver(Rev13 ne fonctionne pas en php 7).

Création localement d'une base vide en UTF8_general_ci avec phpmyadmin

Avec Notepad ++ modification du fichier sql.(Il est sauvegardé en UTF8)

Création des tables :

Exemple pour illustrer


DROP TABLE IF EXISTS `appli_log`;
CREATE TABLE IF NOT EXISTS `appli_log` (
  `al_id` int(11) NOT NULL DEFAULT '0',
  `al_name` varchar(255) DEFAULT NULL,
  `al_subid` int(11) NOT NULL DEFAULT '0',
  `al_date` datetime NOT NULL DEFAULT '000 0-00-00 00:00:00',
  `al_uid` int(11) NOT NULL DEFAULT '0', < br />  `al_data` text,
  `al_ip` varchar(19) NOT NULL DEFAULT '',
  `al_hostname` varchar(255) DEFAULT NULL,
  KEY `al_id` (`al_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;


Devient


DROP TABLE IF EXISTS `appli_log`;
CREATE TABLE IF NOT EXISTS `appli_log` (
  `al_id` int(11) NOT NULL DEFAULT '0',
  `al_name` varchar(255) DEFAULT NULL,
  `al_subid` int(11) NOT NULL DEFAULT '0',
  `al_date` datetime NOT NULL DEFAULT '100 0-01-01 00:00:00',
  `al_uid` int(11) NOT NULL DEFAULT '0', < br />  `al_data` text,
  `al_ip` varchar(19) NOT NULL DEFAULT '',
  `al_hostname` varchar(255) DEFAULT NULL,
  KEY `al_id` (`al_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;



Modification du charset, modification du format de date. C'est assez simple avec la fonction rechercher/remplacer de Notepad. Il faut penser aux COLLATE qui sont en latin1_german1_ci à remplacer par utf8_general_ci.

Globalement faire une recherche sur latin1.

Concernant les données.

Si, comme moi elle sont sauvegardées en UTF8 Notepad l'indique dans le Menu Encodage.

Il faut que les caractères accentués deviennent des é pour é. On l'obtient en indiquant à Notepad un encodage en ANSI.

Il suffit ensuite d'alimenter les tables par copié/collé avec INSERT INTO

Il peut être nécessaire de le faire en plusieurs fois en fonction de la taille de la table.

Au final on obtient une base encodée en UTF8.

Il faut ensuite passer le CHARSET à UTF8 dans Metatags depuis l'administration.

Ce n'est pas encore complètement terminé. Il peut rester quelques traces de caractères accentués comme dans config.php ou dans des fichiers de thèmes. Mais il suffit de les modifier dans Notepad de se mettre en encodage UTF8 et de remplacer les quelques caractères inappropriés par les bons.

Je pense n'avoir rien oublié, je laisse les pros modifier le cas échéant.

Maintenant, l'étape suivante c'est muter vers Rev16



Cet article provient de NPDS

http://www.npds.org/viewtopic.php?topic=26719&forum=4