sql >> Databasteknik >  >> RDS >> Mysql

Det går inte att hämta Unicode-data på hindi från PHP och MySQL

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;
  1. 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.




  1. Uppdatera MySql Table från CSV med PHP

  2. Flera uppdateringar i MySQL

  3. Hur man tar bort siffror från slutet av strängen med SQL

  4. MYSQL - Ta bort fråga med Join