首页 >数据库 >mysql教程 >如何使用 PHP 和 MySQL 正确存储和显示印地语文本?

如何使用 PHP 和 MySQL 正确存储和显示印地语文本?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-28 18:17:14183浏览

How to Properly Store and Display Hindi Text Using PHP and MySQL?

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

问题:
用户在存储和显示印地语时遇到困难使用 PHP 将文本存储在 MySQL 数据库中。文本显示为“??????”使用 utf8_encode() 获取并回显时。

解决方案:
要解决此问题,需要执行以下步骤:

  1. 设置数据库编码:确保数据库编码和排序规则均设置为UTF-8。这是通过在任何数据库操作之前执行查询“SET NAMES utf8”来完成的。
  2. 在数据库中指定字符集:创建将存储印地语文本的表和字段时,指定字符集为 UTF-8。
  3. 设置页面编码:在 PHP 页面的 HTML head 部分,添加元标记以将页面编码设置为 UTF-8:
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  1. 设置内容类型标头:或者,您可以在PHP 脚本使用:
header('Content-Type: text/html; charset=utf-8');
  1. 示例 PHP脚本:以下 PHP 脚本演示了该过程:
<?php
include("connection.php"); // Include database connection
mysql_query("SET NAMES utf8"); // Set database character set
$result = mysql_query("select * from hindi"); // Fetch data from the database
while ($myrow = mysql_fetch_row($result)) {
    echo ($myrow[0]); // Echo the Hindi text
}
?>
  1. 数据库表:数据库表结构应如下所示:
CREATE TABLE `hindi` (
  `data` varchar(1000) character set utf8 collate utf8_bin default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

额外注意:

  • 用户还询问了将印地语文本转换为 HTML 实体的潜在脚本。然而,提供的解决方案中没有这样的脚本。
  • 用户在未指定“META”或标头信息的情况下询问 PHP 脚本如何工作。但是,提供的解决方案涉及在 PHP 脚本和 HTML head 部分中设置字符集,这对于正确显示印地语文本至关重要。

以上是如何使用 PHP 和 MySQL 正确存储和显示印地语文本?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn