Question

I have a problem with displaying Thai text.

I have looked on this forum and I have made sure that when exporting the text I saved it as a utf8 csv file.

The table is set to utf8_unicode_ci and also the column that the text is held. I notice that when I look at the table in php myadmin it displays correctly.

In the php page I have set the meta as

Unfortunately it is still not displaying the text as it should but rather it appears as ??? but the english text appears correctly.

Was it helpful?

Solution

When you write it to DB, in the php after you have established a DB connection set

mysql_set_charset('utf8');

Also, you say the table is set to utf8 but you must check the column too. It can be the case that the table is set to utf8 but the column is set to Latin1.

OTHER TIPS

Define a meta tag on your page:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Use UTF-8 Encoding everywhere, like for php pdo you can use

$dbHandle = new PDO("mysql:host=$dbHost;dbname=$dbName;charset=utf8", $dbUser, $dbPass,
                    array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));

More here

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top