我必须将hindi文本存储在MySQL数据库中,使用PHP脚本获取它并将其显示在网页上.我做了以下事情:
我创建了一个数据库并将其编码设置为UTF-8,并将其排序为utf8_bin.我在表中添加了一个varchar字段,并将其设置为接受charset属性中的UTF-8文本.
然后我开始向它添加数据.在这里,我不得不从现有网站复制数据.印地文文本如下:सूर्योदय:05:30
我直接将此文本复制到我的数据库中,并使用PHP代码echo(utf8_encode($string))显示数据.这样浏览器显示"??????".
但是,当我通过浏览器中的"查看源"插入UTF等效文本时,सूर्योदय会转换为सूर्योदय.
如果我进入并存储सूर्योदय在数据库中,它将完美转换.
所以我想知道的是我如何直接将सूर्योदय存储到我的数据库中并获取它并使用PHP在我的网页中显示它.
此外,任何人都可以帮助我理解是否有一个脚本,当我输入सूर्योदय时,给我सूर्योदय?
找到解决方案
我写了以下示例脚本,它对我有用.希望它也可以帮助其他人
<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>
Run Code Online (Sandbox Code Playgroud)
我的数据库存储hindi utf字符串的转储是
CREATE TABLE `hindi` (
`data` varchar(1000) character set utf8 collate utf8_bin default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO …Run Code Online (Sandbox Code Playgroud) 我们在数据库中存储了一些分数信息,例如¾½
没有进行搜索和替换,是否有任何内置的PHP函数会自动将这些函数转换为正确的html实体?