Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como armazenar os dados em unicode no idioma hindi


Escolha o conjunto de caracteres utf8 e utf8_general_ci agrupamento.

Obviamente, Collation do campo (no qual você deseja armazenar texto em hindi) deve ser utf8_general_ci .

Para alterar seu campo de tabela, execute
ALTER TABLE `<table_name>` CHANGE `<field_name>` `<field_name>` VARCHAR(100) 
CHARSET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL;

Depois de se conectar ao banco de dados, execute a seguinte instrução primeiro
mysql_set_charset('utf8');

Por exemplo:
//setting character set
mysql_set_charset('utf8');

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

Para recuperar dados
//setting character set
mysql_set_charset('utf8');

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

Antes de imprimir qualquer texto unicode (digamos, texto em hindi) no navegador, você deve definir o tipo de conteúdo dessa página adicionando uma meta tag
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Por exemplo:
<!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>

Atualizar :

mysql_query("SET CHARACTER SET utf8") has changed to mysql_set_charset('utf8'); Esta é a maneira preferida de alterar o charset. Usar mysql_query() para configurá-lo (como SET NAMES utf8) não é recomendado. Veja http://php.net/manual/en/function. mysql-set-charset.php *