sql >> Database teknologi >  >> RDS >> Mysql

Ikke i stand til at hente Unicode-data på hindi fra PHP og MySQL

Ting at være opmærksom på:1. sørg for, at din html- eller php-fil, der ville gengive indholdet, har enten :i) 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. Sørg for, at du har den rigtige sortering som angivet nedenfor. ( :) alt det bedste )

Så i mit tilfælde havde jeg prøvet at ændre sorteringen fra utf8mb4_unicode_ci for mysql og måtte ændre det til uft8_general_ci .

Derefter indsatte :

mysqli_set_charset( $con, 'utf8');

lige før jeg lavede SELECT-kommandoen.

Dette er min kode til at læse fra 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 . . . 
}

Og det virkede som en charme. Alt det bedste. Ovenstående kode kan arbejde med at læse kinesisk, russisk eller arabisk eller et hvilket som helst internationalt sprog fra databasens tabelkolonne, der indeholder sådanne data.




  1. PHP SUM funktion

  2. CAST() Funktion i Oracle

  3. Er der et fald i ydeevnen, hvis der er for mange kolonner i en tabel?

  4. SQL WHERE Flere betingelser