Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyimpan dan Memaparkan Teks Hindi Menggunakan PHP dan MySQL dengan Betul?

Bagaimana untuk Menyimpan dan Memaparkan Teks Hindi Menggunakan PHP dan MySQL dengan Betul?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-28 18:17:14183semak imbas

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

Menyimpan dan Memaparkan Rentetan Unikod (हिन्दी) Menggunakan PHP dan MySQL

Isu:
Pengguna menghadapi kesukaran menyimpan dan memaparkan bahasa Hindi teks dalam pangkalan data MySQL menggunakan PHP. Teks muncul sebagai "????????" apabila diambil dan digemakan menggunakan utf8_encode().

Penyelesaian:
Untuk menyelesaikan isu tersebut, langkah berikut perlu diambil:

  1. Tetapkan Pengekodan Pangkalan Data: Pastikan pengekodan pangkalan data dan penyusunan kedua-duanya ditetapkan kepada UTF-8. Ini dilakukan dengan melaksanakan pertanyaan "SET NAMES utf8" sebelum sebarang operasi pangkalan data.
  2. Nyatakan Set Aksara dalam Pangkalan Data: Apabila mencipta jadual dan medan yang akan menyimpan teks Hindi, nyatakan set aksara sebagai UTF-8.
  3. Tetapkan Pengekodan Halaman: Dalam bahagian kepala HTML anda Halaman PHP, tambah tag meta untuk menetapkan pengekodan halaman kepada UTF-8:
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  1. Tetapkan Pengepala Jenis Kandungan: Sebagai alternatif, anda boleh menetapkan kandungan taip skrip PHP anda menggunakan:
header('Content-Type: text/html; charset=utf-8');
  1. Contoh PHP Skrip: Skrip PHP berikut menunjukkan proses:
<?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. Jadual Pangkalan Data: Struktur jadual pangkalan data sepatutnya kelihatan seperti ini:
CREATE TABLE `hindi` (
  `data` varchar(1000) character set utf8 collate utf8_bin default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Tambahan Nota:

  • Pengguna juga bertanya tentang skrip yang berpotensi untuk menukar teks Hindi kepada entiti HTML. Walau bagaimanapun, tiada skrip sedemikian dalam penyelesaian yang disediakan.
  • Pengguna bertanya tentang cara skrip PHP berfungsi tanpa menyatakan maklumat "META" atau pengepala. Walau bagaimanapun, penyelesaian yang disediakan melibatkan penetapan set aksara dalam kedua-dua skrip PHP dan bahagian kepala HTML, yang penting untuk memaparkan teks Hindi dengan betul.

Atas ialah kandungan terperinci Bagaimana untuk Menyimpan dan Memaparkan Teks Hindi Menggunakan PHP dan MySQL dengan Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn