Thai - from mysql to php

791 views Asked by At

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.

2

There are 2 answers

1
Kevin Lynch On BEST ANSWER

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.

0
Manoj Purohit On

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