Possible Duplicate:
Save Data in Arabic in MySQL database
I have a problem with retrieving Arabic data from MYSQL database using PHP, it appears as question marks "????" in HTML:
- I have a database with "utf8_general_ci" as collation.
- The database contains some data in Arabic Language.
- The HTML encoding is "UTF-8".
- When I tried to retrieve the data in HTML, it appears as "?????".
Please Help !!!
you must set charset in first connect with mysql by this query:
SET CHARACTER SET utf8
for example in mysqli functions
$MySQL_Handle = mysqli_connect(HOSTNAME,DATABASE_USERNAME,DATABASE_PASSWORD,DATABASE_NAME)
or die ( mysqli_error($MySQL_Handle) );
$sSQL= 'SET CHARACTER SET utf8';
mysqli_query($MySQL_Handle,$sSQL)
or die ('Can\'t charset in DataBase');
and PDO sample :
$dbh = new PDO('mysql:host=localhost;dbname=' . $DB_NAME, $DB_USER,
$DB_PASS, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'"));
$dbh->exec("SET CHARACTER SET UTF8");
this action need before insert and before select.
来源:https://stackoverflow.com/questions/13439324/arabic-language-in-php-mysql-appears-question-marks-in-html