Pourquoi ne puis-je pas insérer le mot Español via la ligne de commande mysql program? Voir la session ci-dessous.Comment insérer des caractères latins dans Mysql à partir du shell de la ligne de commande?
mysql> select CONCAT('Espa', 0xF1, 'ol');
+------------------------------+
| CONCAT('Espa', 0xF1, 'ol') |
+------------------------------+
| Español |
+------------------------------+
1 row in set (0.00 sec)
mysql> create table t
> (
> nom varchar(25) NOT NULL
>) ENGINE=InnoDB DEFAULT CHARSET=utf8;
mysql> insert into t VALUES(CONCAT('Espa', 0xF1, 'ol'));
Query OK, 1 row affected, 1 warning (0.02 sec)
mysql> select * from t;
+------+
| nom |
+------+
| Espa |
+------+
1 row in set (0.00 sec)
mysql> select HEX(nom) from t;
+----------+
| HEX(nom) |
+----------+
| 45737061 |
+----------+
mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
Génial. Cela marche. insérer dans t VALUES (CONCAT ('Espa', 0xc3, 0xb1, 'ol')); –