Convertir un site en UTF8 - PHP/MySQL
Alors qu’il y a quelques années l’UTF8 naissait, réconcilliant le monde entier, on aurait pu se dire que tout le monde l’aurait adopté. Si aujourd’hui c’est bien loin d’être systématique, il ne s’agit pas forcément d’un manque de volonté, mais plutôt d’une difficulté à mettre en oeuvre l’UTF8 souvent déconcertante. Le problème d’encodage est récurrent, et est certainement plus impressionnant qu’il n’est vraiment compliqué. Voici donc les grandes étapes pour migrer votre application web en UTF8, et pourquoi pas conquérir de lointains marchés !
- Requêtes HTTP
- Par ordre de priorité pour le navigateur :
- Fixer le parametre charset dans les requêtes HTTP (cf W3C)
- dans apache remplacez AddDefaultCharset ISO-8859-1 par
AddDefaultCharset UTF-8, (dans httpd.conf sinon rajoutez la ligne dans le .htaccess) - ou/et dans PHP avec
header('Content-Type: text/html; charset=utf-8'); - Mettre après le <head> dans votre fichier HTML le code suivant (ce code est connu de tous)
<meta content="text/html; Charset=UTF-8" http-equiv="Content-Type" />- MySQL
- Lisez cet article en premier lieu
- Ensuite, il faut premièrement changer les interclassements
- de la base
- ALTER DATABASE nomBase CHARACTER SET UTF8
- des tables
- ALTER TABLE nomTable CHARACTER SET UTF8
- des colonnes
- ALTER TABLE nomTable CONVERT TO CHARACTER SET UTF8
- ceci changera toutes les colonnes de la table et convertira les données. Si vous aviez déjà mis de l’UTF8 dans une colonne avant d’en changer l’encodage il est encore possible de rétablir la cohérence des données :
- ALTER TABLE nomTable CHANGE nomColonne nomColonne BLOB;
ALTER TABLE nomTable CHANGE nomColonne nomColonne TEXT CHARACTER SET UTF8; - Puis il faut prévenir MySQL que vos interractions se feront en UTF8 en envoyant à chaque connexion :
- SET NAMES UTF8
- Editer en UTF8
- Pour cela il faut configurer votre éditeur pour que vos fichiers soient en UTF8 (c’est nécessaire uniquement dans le cas de fichiers avec données sensibles - cad avec accents ou autres caractères non ASCII).
- Veillez à placer l’encodage en UTF8 sans BOM car sinon le fichier contiendra un octet d’entête et PHP ne pourra plus envoyer de header ou de session (bug PHP#22108).
- Enfin, attention à PHP, jetez un coup d’oeil à l’extension Mbstring, par exemple pour strlen, utilisez mb_strlen
Bonne chance à vous, et gardez à l’esprit que l’idée générale est d’avoir de l’UTF8 à tous les endroits de votre application.
16 commentairesWebzineMaker - Import / Export RSS
Notre collaboration avec la société ajaccienne WebzineMaker nous a cette fois amenés à travailler sur la nouvelle version (dite “V4″) de leur nouveau service. Nous avons donc réalisé deux fonctionnalités très intéressantes, à savoir l’import du contenu d’un fichier RSS dans le webzine, et l’export du contenu du webzine dans une autre plateforme (via la technologie des API de publication). Nous avions déjà travaillé avec cette technologie sur le projet xFruits afin de réaliser la brique RSS to MyBlog. Cette nouvelle fonctionnalité sera bientôt à disposition des heureux testeurs de la V4.
Brainstorming (presque) dans le Fiumorbu…
Nous nous sommes rendus ce week end à Ghisonnaccia afin de rencontrer nos amis ajacciens qui étaient accompagnés de Loïc Haÿ (dans l’optique de pousser un peu plus loin la réflexion sur la prochaine version d’xFruits). Nous avons donc passés deux jours très agréables en leur compagnie, et sommes désormais un peu plus fixés sur l’avenir d’xFruits. Loïc nous a apporté sa vision de veilleur, nous a permis de mieux cibler les fonctionnalités et l’ergonomie de la nouvelle version du service, et nous pouvons dores et déjà dire que la différence avec l’actuel sera belle et bien marquée, et que ce service saura conquérir de nombreux veilleurs !
Ritrattu.com, le site corporate
Nous avons ouvert une première version assez legère du site Ritrattu.com afin de pouvoir nous présenter de manière professionnelle et officielle.

Au programme sur le site vous pouvez retrouver
- une présentation, incluant nos CV
- nos réalisations profressionnelles (création de sites et applications webs)
- une page pour nous contacter
Si vous avez des remarques, n’hésitez pas à nous contacter
Aucun commentairexFruits - RSS to Blog
Toujours dans le cadre de notre collaboration avec le projet xFruits (sponsorisé par la société ajaccienne WebzineMaker), nous avons réalisé une brique qui a pour but de poster un flux RSS sur un blog en utilisant la technologie des API de publication. De nouvelles combinaisons de briques autorisent désormais de nouvelles fonctionnalités facilitant un peu plus le travail de veille et de publication, comme par exemple : publier des articles sur un blog à partir d’envois de mails (grâce à la brique POST to RSS), publier sur un blog le contenu d’un aggrégateur et bien d’autres choses encore. Nous avons travaillé dans l’optique de rendre cette brique compatible avec les principales API de publication du marché que sont Blogger, MetaWeblog, MovableType, ATOM, et GData. Ainsi, en entrant les paramètres de connexion à l’API de votre blog dans le service, celui ci détecte automatiquement la liste des blogs sur lesquels vous êtes autorisés à poster (dans le cas d’un système comme Blogger, par exemple), vous demande de choisir le blog de destination et vous n’avez plus qu’à valider. La brique postera automatiquement les nouveaux messages du flux RSS sur votre blog.
Par ailleurs, nous sommes en train d’envisager une version radicalement différente d’xFruits prévue pour dans quelques mois et cette brique saura parfaitement s’intégrer dans la nouvelle logique d’xFruits.
Aucun commentaireProgramme estival
L’été 2007 s’annonce chargé, voici les grandes lignes de notre programme estival :
- perfectionnement de notre application d’implémentation de site webs «classiques»
- création de quelques sites internet
- lancement de RSS to Blog sur xFruits1
- refonte des briques xFruits (type classes qui contiennent le coeur des transformations)

- intégration de briques sur WMaker v4
- création de la nouvelle plateforme «xFruits2»
- création du registrar corsi.ca
Il s’agit d’une liste non exhaustive avec en gras les taches sur lesquelles nous travaillons en priorité (en réalité, nous ne faisons pratiquement que ça à part le week-end).
Pour mener à bien tous ces projets nous avons du nous installer dans un local très agréable à Miomu (Corsica) dans un studio sous la maison de Dumè. (voir post précédent)
1 seul commentaireInstallation dans nos locaux
Nous voilà installés depuis quelques jours dans nos nouveaux locaux chez Dume à Miomu. Nous avons aménagé une pièce du rez-de-chaussée pour pouvoir travailler dans de bonnes conditions. Voilà quelques clichés de notre belle installation :
Année Universitaire 2006/2007
La fin officielle de notre année scolaire est arrivée avec les résultats de notre second semestre. Nous sommes désormais tous deux titulaires d’une licence Science & Technologie mention Informatique.
- Francescu : Mention BIEN (14.575)
- Dumè : Mention ASSEZ-BIEN (12.755)
Nous sommes à présent parés pour le Master ISI !
Aucun commentaireL3S2 - Concepts des langages de programmation - Séminaire Ruby on Rails
Année Universitaire 2006-2007, semestre 2
Nous avons eu à présenter un séminaire pour la matière “Projet de programmation”.
- Matière : Concepts des langages de programmation
- Sujet : Ruby on Rails
- Date de l’oral : 18/04/2007
- Elèves :
- Francescu SANTONI
- Rachida EL MOUKTAFI
- Le rapport écrit
- Le support de présentation
L3S2 - Projet de programmation - Support de présentation “AJAX”
Année Universitaire 2006-2007, semestre 2
Nous avons eu à présenter un séminaire pour la matière “Projet de programmation”.
- Matière : Projet de programmation
- Sujet : AJAX
- Date de l’oral : 18/04/2007
- Elèves :
- Dominique SIACCI
- Tong LI
- Notre support : Support de présentation
- Notre rapport : Rapport


