Неща, за които трябва да внимавате :1. уверете се, че вашият html или php файл, който ще изобрази съдържанието, има или :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;
- Уверете се, че имате правилното съпоставяне, както е посочено по-долу. ( :) всичко най-добро )
Така че в моя случай се опитах да променя съпоставянето от utf8mb4_unicode_ci
за mysql и трябваше да го промените на uft8_general_ci
.
След това поставете :
mysqli_set_charset( $con, 'utf8');
точно преди да направя командата SELECT.
Това е моят код за четене от 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 . . .
}
И работеше като чар. Всичко най-хубаво. Горният код може да работи с четене на китайски, руски или арабски или всеки международен език от колоната на таблицата на базата данни, съдържаща такива данни.