Home >Database >Mysql Tutorial >How to Properly Store and Display Hindi Text Using PHP and MySQL?

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

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-28 18:17:14265browse

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

Storing and Displaying Unicode Strings (हिन्दी) Using PHP and MySQL

Issue:
The user is facing difficulty storing and displaying Hindi text in a MySQL database using PHP. The text appears as "???????" when fetched and echoed using utf8_encode().

Solution:
To resolve the issue, the following steps need to be taken:

  1. Set Database Encoding: Ensure that the database encoding and collation are both set to UTF-8. This is done by executing the query "SET NAMES utf8" before any database operations.
  2. Specify Character Set in Database: When creating the table and field that will store the Hindi text, specify the character set as UTF-8.
  3. Set Page Encoding: In the HTML head section of your PHP page, add a meta tag to set the page encoding to UTF-8:
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  1. Set Content Type Header: Alternatively, you can set the content type in your PHP script using:
header('Content-Type: text/html; charset=utf-8');
  1. Example PHP Script: The following PHP script demonstrates the process:
<?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. Database Table: The database table structure should look like this:
CREATE TABLE `hindi` (
  `data` varchar(1000) character set utf8 collate utf8_bin default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Additional Notes:

  • The user also asked about a potential script to convert Hindi text into HTML entities. However, there is no such script in the provided solution.
  • The user inquired about how the PHP script worked without specifying the "META" or header information. However, the solution provided involves setting the character set in both the PHP script and the HTML head section, which is essential for displaying Hindi text correctly.

The above is the detailed content of How to Properly Store and Display Hindi Text Using PHP and MySQL?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn