How to Properly Store and Display Hindi Text Using PHP and MySQL?
Nov 28, 2024 pm 06:17 PMStoring 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:
- 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.
- Specify Character Set in Database: When creating the table and field that will store the Hindi text, specify the character set as UTF-8.
- 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">
- Set Content Type Header: Alternatively, you can set the content type in your PHP script using:
header('Content-Type: text/html; charset=utf-8');
- 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 } ?>
- 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!

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Reduce the use of MySQL memory in Docker

How do you alter a table in MySQL using the ALTER TABLE statement?

How to solve the problem of mysql cannot open shared library

Run MySQl in Linux (with/without podman container with phpmyadmin)

What is SQLite? Comprehensive overview

Running multiple MySQL versions on MacOS: A step-by-step guide

What are some popular MySQL GUI tools (e.g., MySQL Workbench, phpMyAdmin)?

How do I configure SSL/TLS encryption for MySQL connections?
