I'm using a MariaDB, version as below : MariaDB version
The encoding is the following : Mysql Encoding
From what I understand, it is globally UTF-8. Notice the "latin1" for character_set_server.
If I take creation script for the table "Foo", it shows as :
CREATE TABLE `Foo` (
`id` int(10) NOT NULL AUTO_INCREMENT,
. . .
`description` text,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5475 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
So far, so good.
I'm using TypeORM to retrieve my information (note : the database already existed before implementing TypeORM), I configured it like this :
TypeOrmModule.forRoot({
type: 'mysql',
...
charset: 'utf8'
}),
And in my Angular application, I added in the header tag :
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
If I take this record inside cb_marchand, on mysql, it shows like this : example of data
: "Lancé en 2007, Deco-Smart aujourd'hui est le site incontournable de ventes privées déco et design."
From what I understood, "é" are UTF-8 encoded characters. So far, so good.
But when I display this description inside my website, it shows as "é".
EDIT : Please note that this database serves another application and on it, it shows correctly.
I don't know if :
- having é showing inside the database is correct or not
- if have character_set_server on latin1 is correct or not
- where there is something wrong in the new application