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

Come memorizzare i dati in unicode in lingua hindi

Scegli il set di caratteri utf8 e utf8_general_ci confronto.

Ovviamente, la Fascicolazione del campo (in cui si desidera memorizzare il testo hindi) dovrebbe essere utf8_general_ci .

Per modificare il campo della tabella, esegui

ALTER TABLE `<table_name>` CHANGE `<field_name>` `<field_name>` VARCHAR(100) 
CHARSET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL;

Dopo esserti connesso al database, esegui prima la seguente istruzione

mysql_set_charset('utf8');

Es.:

//setting character set
mysql_set_charset('utf8');

//insert Hindi text
mysql_query("INSERT INTO ....");

Per recuperare i dati

//setting character set
mysql_set_charset('utf8');

//select Hindi text
mysql_query("SELECT * FROM ....");

Prima di stampare qualsiasi testo unicode (ad esempio testo hindi) sul browser, dovresti impostare il tipo di contenuto di quella pagina aggiungendo un meta tag

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Es.:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Example Unicode</title>
</head>

<body>
<?php echo $hindiText; ?>
</body>
</html>

Aggiorna :

mysql_query("SET CHARACTER SET utf8") has changed to mysql_set_charset('utf8');Questo è il modo preferito per cambiare il set di caratteri. L'uso di mysql_query() per impostarlo (come SET NAMES utf8) non è raccomandato. Vedi http://php.net/manual/en/function. mysql-set-charset.php *