Bonjour,
J'ai :
- un serveur web httpd 2.4.3
- un serveur de bases de données mysql 5.5.27
- un interpréteur de scripts php 5.4.7
- un navigateur web firefox 15.0.1
J'ai ce fichier test.sql qui crée une table et insère deux tuples :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 DROP TABLE IF EXISTS `mytable`; CREATE TABLE `mytable` ( `id` int(11) NOT NULL AUTO_INCREMENT, `value` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; INSERT INTO `mytable` VALUES (1,'àbc'),(2, 'déf');
J'ai ce fichier test.php qui affiche les valeurs stockées dans ma table :
Voici mes manipulations pour la base de données :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <?php mysql_connect("localhost", "root", '...'); mysql_select_db("mydatabase"); $query = "SELECT * FROM mytable"; $result = mysql_query($query); $array = mysql_fetch_array($result); echo $array['value']; ?>
Jusqu'ici le résultat est bon :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $ mysql -u root -p create database mydatabase; SET NAMES utf8; source test.sql SELECT * FROM mytable;
Ensuite, au niveau de PHP, je commence par tester en ligne de commandes :SELECT * FROM mytable; +----+-------+ | id | value | +----+-------+ | 1 | àbc | | 2 | déf | +----+-------+ 2 rows in set (0.00 sec)
Encore ici, le résultat est bon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $ php test.php
Là ou ça coince, c'est quand je passe par mon serveur web :àbc
J'obtiens un losange noir avec un point d'interrogation blanc à l'intérieur à la place de "à".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2$ cp test.php ~/public_html/ $ firefox http://localhost/~yugiohjcj/test.php &
J'ai regardé l'encodage de mon navigateur web, il est en UTF-8 (View>Character Encoding>UTF-8).
Par contre, si je passe mon navigateur web en ISO-8859-1, alors le caractère s'affiche correctement.
Est-ce que vous voyez pourquoi mon caractère ne s'affiche pas correctement en UTF-8 ?
Merci.
Partager