Saker att se upp för:1. se till att din html- eller php-fil som skulle rendera innehållet har antingen :i) <?php header('Content-Type: text/html; charset=utf-8'); ?>
ORii).
<?php $page_html = "<html>";
$page_html .= "<META HTTP-EQUIV=\"content-type\" CONTENT=\"text/html; charset=utf-8\">";
$page_html .= "<body>";
$page_html .= " process and display your content from the database here ";
$page_html .= "</body></html>";
echo $page_html;
- Se till att du har rätt sortering enligt nedan. ( :) allt gott )
Så i mitt fall hade jag försökt ändra sorteringen från utf8mb4_unicode_ci
för mysql och var tvungen att ändra den till uft8_general_ci
.
Sedan klistrades in:
mysqli_set_charset( $con, 'utf8');
precis innan jag gjorde kommandot SELECT.
Det här är min kod för att läsa från db :
/*
$DB_SERVER="db_server_name";
$DB_USER_READER="root";
$DB_PASS_READER="passw*rd";
$DB_NAME="db_name";
$DB_PORT="port number";
$SELECT_WHAT="`name_of_column_as_in_your_table`";
$WHICH_TBL="`table_name`";
$ON_WHAT_CONDITION="`id`='7'";
*/
$con = mysqli_connect($DB_SERVER, $DB_USER_READER, $DB_PASS_READER, $DB_NAME, $DB_PORT);//this is the unique connection for the selection
mysqli_set_charset( $con, 'utf8');
$slct_stmnt = "SELECT ".$SELECT_WHAT." FROM ".$WHICH_TBL." WHERE ".$ON_WHAT_CONDITION;
$slct_query = mysqli_query($con, $slct_stmnt);
if ($slct_query==true) {
//Do your stuff here . . .
}
Och det fungerade som en smäck. Med vänliga hälsningar. Ovanstående kod kan fungera med att läsa kinesiska, ryska eller arabiska eller vilket internationellt språk som helst från databasens tabellkolumn som innehåller sådana data.