开发者社区> 问答> 正文

使用PHP和MySQL存储和显示Unicode字符串(हिन्दी)?mysql

我必须将印地文文本存储在MySQL数据库中,使用PHP脚本获取它并将其显示在网页上。我做了以下事情:

我创建了一个数据库,并将其编码设置为UTF-8,并将排序规则设置为utf8_bin。我在表中添加了一个varchar字段,并将其设置为在charset属性中接受UTF-8文本。

然后我开始向其中添加数据。在这里,我不得不从现有站点复制数据。印地文文本看起来像这样:सूर्योदय:05:30

我直接将此文本复制到数据库中,并使用PHP代码echo(utf8_encode($string))显示数据。这样做后,浏览器向我显示了“ ??????”。

但是,当我通过在浏览器中转到“查看源代码”插入与文本等效的UTF时,सूर्योदय会转换为सूर्योदय。

如果我输入并存储सूर्योदय在数据库中,它将完美转换。

所以我想知道的是如何将सूर्सू直接存储到数据库中,并使用PHP将其提取并显示在我的网页中。

另外,有人可以帮我了解是否有一个脚本,当我输入सूर्योदय时,该脚本会给我सूर्योदय吗?

找到解决方案

我写了以下对我有用的示例脚本。希望它也能帮助别人

我存储印地语utf字符串的数据库的转储是

CREATE TABLE hindi ( data varchar(1000) character set utf8 collate utf8_bin default NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO hindi VALUES ('सूर्योदय'); 现在我的问题是,如果不指定“ META”或标题信息,它如何工作?

谢谢!

展开
收起
保持可爱mmm 2020-05-17 09:52:12 687 0
1 条回答
写回答
取消 提交回答
  • 您是否在HTML Head部分中设置了正确的字符集?

    或者您可以使用-在PHP脚本中设置内容类型-

    header( 'Content-Type: text/html; charset=utf-8' ); 关于StackOverflow的讨论已经在这里-请看看

    如何使MySQL处理utf-8正确地 通过php与mysql设置utf8

    PHP / MySQL编码问题

    因此,我想知道的是如何将सूर्directly直接存储到数据库中,并使用PHP将其提取并显示在我的网页中。

    我不确定“直接存储在数据库中”是什么意思。.您是指使用PhpMyAdmin或任何其他类似工具输入数据吗?如果是,我已经尝试使用PhpMyAdmin输入unicode数据,所以对我来说效果很好-您可以尝试使用phpmyadmin输入数据,然后使用php脚本进行检索以进行确认。如果您需要通过Php脚本提交数据,则只需在创建mysql连接时,执行插入查询之前以及选择数据时设置名称和字符集即可。看看以上文章以查找语法。希望能帮助到你。

    更新只是修正了一些错别字等来源:stack overflow

    2020-05-17 10:06:22
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像