sql >> Databáze >  >> RDS >> Mysql

Nelze načíst data Unicode v hindštině z PHP a MySQL

Na co si dát pozor:1. ujistěte se, že váš html nebo php soubor, který by vykreslil obsah, má buď :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;
  1. Ujistěte se, že máte správné řazení, jak je uvedeno níže. ( :) všechno nejlepší )

Takže v mém případě jsem se pokusil změnit řazení z utf8mb4_unicode_ci pro mysql a musel jsem jej změnit na uft8_general_ci .

Poté vložte:

mysqli_set_charset( $con, 'utf8');

těsně předtím, než jsem provedl příkaz SELECT.

Toto je můj kód pro čtení z 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 . . . 
}

A fungovalo to jako kouzlo. Vše nejlepší. Výše uvedený kód může pracovat se čtením čínštiny, ruštiny nebo arabštiny nebo jakéhokoli mezinárodního jazyka ze sloupce tabulky databáze obsahující taková data.




  1. Jaký je rozdíl ve výkonu mezi ignorováním vložení a nahrazením v MySQL?

  2. Přidání nápovědy k dotazu při volání funkce Table-Valued Function

  3. převádění řádků tabulky na sloupce v mysql

  4. Jak přenést moji databázi MySQL na jiný počítač?