Created
July 21, 2016 14:12
-
-
Save mistergraphx/e178c2006ce8f9490c3b0c0ab1df6e14 to your computer and use it in GitHub Desktop.
CONVERTION ISO1 vers UTF8
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cat <<EOF | |
------------------------------------------ | |
CONVERTION ISO1 vers UTF8 | |
------------------------------------------ | |
Utilisé pour convertir un spip < 1.9.x | |
Vers Spip 2.1.X en utf8 | |
- convertion d'une liste de fichiers | |
perl -MENCODE traitement des caractères spéciaux | |
- sed sur latin1 -> utf8 dans la déclaration des tables | |
+ passage en InnoDB | |
- sed sur les caractère foireux qui resteraient | |
EOF | |
echo -n "Choix du répertoire :" | |
read chemin | |
CHEMIN=$chemin/ | |
cd $CHEMIN | |
# TODO : MODE 10 : tester si $CHEMIN est un répertoire !! | |
#list=`ls "$CHEMIN"` | |
for fichier in * | |
do | |
echo $CHEMIN"$fichier" | |
perl -MEncode -pe 'for $a qw(à è ì ò ù À È Ì Ò Ù ä ë ï ö ü Ä Ë Ï Ö Ü á é í ó ú ç Á É Í Ó Ú Ç ÿ æ œ € © ° â ê î ô û Â Ê Î Ô Û ß » « ¢) { $c = encode ("UTF-8", $a) ; s/$c/$a/g ; };' "$fichier" > "$fichier".mod | |
# On remplace MyISAM pa InnoDB et latin par Utf (http://dev.mysql.com/doc/refman/5.0/fr/converting-tables-to-innodb.html) | |
cat "$fichier".mod | sed -e 's/latin1/utf8/g' | sed -e 's|MyISAM|InnoDB|g' >"$fichier".utf.sql | |
# /!\ iconv -f ISO8859-1 -t UTF-8 fichier > destination | |
# degré signe degré) | apostrophe typo | groupe 3 points | œ | — grd tiret | À |€ | É -> É | È->È | Ç -> Ç | Ô-> Ô |ñ -> ù | Å’ => Œ | |
cat "$fichier".utf.sql | sed -e 's|°|°|g' | sed -e 's|’|’|g' | sed -e 's|…|…|g' | sed -e 's|Å“|œ|g' | sed -e 's|–|–|g' | sed -e 's|À|À|g' | sed -e 's|€|€|g' | sed -e 's|É|É|g' | sed -e 's|È|È|g' | sed -e 's|Ç|Ç|g' | sed -e 's|Ô|Ô|g' | sed -e 's|ñ|ù|g' | sed -e 's|Å’|Œ|g' | sed -e 's|√©|é|g' | sed -e 's|√™|ê|g' | sed -e 's|√†|à|g' > "$fichier".convertit.sql | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment