首頁 > 後端開發 > php教程 > 如何在 PHP 和 MySQL 中處理 Unicode 字串(例如印地語)?

如何在 PHP 和 MySQL 中處理 Unicode 字串(例如印地語)?

Barbara Streisand
發布: 2024-10-22 20:44:04
原創
200 人瀏覽過

How to Handle Unicode Strings (e.g., Hindi) in PHP and MySQL?

使用PHP 和MySQL 儲存和顯示Unicode 字串(हिन्दी)

在Web 應用程式中儲存和顯示印地語等非拉丁字元集可能具有挑戰性,但它對於支持更廣泛的受眾至關重要。以下是如何使用PHP 和MySQL 實現此目的的綜合指南:

設定資料庫參數

  • 透過執行這些命令確保您的MySQL 資料庫具有正確的字元集和排序規則:

    <code class="sql">SET character_set_database=utf8;
    SET collation_database=utf8_unicode_ci;</code>
    登入後複製
  • 在表格定義中指定儲存unicode 資料的列為VARCHAR,CHARACTER SET utf8mb4 和COLLATE utf8mb4_unicode_ci。

資料插入與擷取

  • 插入資料時,直接將Unicode字串輸入資料庫,不做任何修改。
  • 要在PHP中檢索數據,請在提取之前執行以下查詢:

    <code class="php">mysql_query("SET NAMES utf8");</code>
    登入後複製
  • 在顯示之前使用utf8_encode() 將Unicode 字串轉換為UTF -8 格式。

PHP 腳本示例

<code class="php"><?php
header('Content-Type: text/html; charset=utf-8');

// Database connection
include('connection.php');

// Execute query with UTF-8 encoding
mysql_query("SET NAMES utf8");
$result = mysql_query("SELECT * FROM `hindi`");

// Fetch and display results
while ($row = mysql_fetch_row($result)) {
    echo utf8_encode($row[0]);
}
?></code>
登入後複製

數據庫轉儲

數據庫轉儲應類似於以下內容:

<code class="sql">CREATE TABLE `hindi` (
  `data` VARCHAR(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL
);

INSERT INTO `hindi` VALUES ('सूर्योदय');</code>
登入後複製

故障排除

  • 確保HTML 頭部分包含正確的字元集:

    <code class="html"><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"></code>
    登入後複製
  • 驗證Web 伺服器是否已正確配置為處理Unicode 字串。
  • 如果問題仍然存在,請查閱相關文件或從 StackOverflow 等論壇尋求協助。

以上是如何在 PHP 和 MySQL 中處理 Unicode 字串(例如印地語)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板