Выберите набор символов utf8 и сопоставление utf8_general_ci
.
Очевидно, что Collation поля (в котором вы хотите хранить текст на хинди) должно быть utf8_general_ci
.
Чтобы изменить поле таблицы, запустите
ALTER TABLE `<table_name>` CHANGE `<field_name>` `<field_name>` VARCHAR(100)
CHARSET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL;
После подключения к базе данных сначала выполните следующую инструкцию.
mysql_set_charset('utf8');
Eg:
//setting character set
mysql_set_charset('utf8');
//insert Hindi text
mysql_query("INSERT INTO ....");
Чтобы получить данные
//setting character set
mysql_set_charset('utf8');
//select Hindi text
mysql_query("SELECT * FROM ....");
Прежде чем печатать любой текст в формате Unicode (скажем, текст на хинди) в браузере, вам необходимо установить тип содержимого этой страницы, добавив метатег.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Eg:
<!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>
Обновление:
mysql_query("SET CHARACTER SET utf8") has changed to
mysql_set_charset('utf8'); Это предпочтительный способ изменить кодировку. Использование mysql_query() для его установки (например, SET NAMES utf8) не рекомендуется. См. http://php.net/manual/en/function.mysql-set-charset.php*
person
rajukoyilandy
schedule
15.09.2012