我必须将印地语文本存储在MySQL数据库中,使用PHP脚本获取它,并将其显示在网页上.我做了以下几件事:
我创建了一个数据库,将其编码设置为UTF-8,并将排序规则设置为utf8_bin
.
然后我开始向它添加数据.在这里,我必须从一个existing site的数据库中复制数据.
我直接将此文本复制到数据库中,并使用PHP代码echo(utf8_encode($string))
显示数据.这样做后,浏览器向我显示了"??".
然而,当我通过在浏览器中的"查看源代码"插入文本的UTF类似功能时,सूर्योदय 翻译成सूर्योदय
.
如果我在数据库中输入并存储सूर्योदय
,它将完全转换.
所以我想知道的是如何直接存储सूर्योदय 进入我的数据库,获取它并用PHP显示在我的网页上.
还有,有谁能帮我理解一下,当我输入时,是否有一个脚本सूर्योदय, 给我सूर्योदय
?
Solution Found
我写了下面的示例脚本,它对我很有用.希望它也能帮助别人
<html>
<head>
<title>Hindi</title></head>
<body>
<?php
include("connection.php"); //simple connection setting
$result = mysql_query("SET NAMES utf8"); //the main trick
$cmd = "select * from hindi";
$result = mysql_query($cmd);
while ($myrow = mysql_fetch_row($result))
{
echo ($myrow[0]);
}
?>
</body>
</html>
存储印地语utf字符串的数据库转储是
CREATE TABLE `hindi` (
`data` varchar(1000) character set utf8 collate utf8_bin default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `hindi` VALUES ('सूर्योदय');
现在我的问题是,在没有指定"元"或标题信息的情况下,它是如何工作的?
谢谢