php parser教學 - 使用PHP和MySQL存儲和顯示unicode字符串(हिन्दी)




2 Answers

您是否在HTML Head部分設置了正確的字符集?

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

或者你可以使用 - 在php腳本中設置內容類型 -

   header( 'Content-Type: text/html; charset=utf-8' ); 

StackOverflow上已有一些討論 - 請看一下

如何使MySQL 通過php 正確 設置utf8和mysql來 處理UTF-8

PHP / MySQL有編碼問題

所以我想知道的是我如何直接將सूर्योदय存儲到我的數據庫中並使用PHP獲取並顯示在我的網頁中。

我不確定你的意思是“直接存儲在數據庫中”..你的意思是使用PhpMyAdmin或任何其他類似的工具輸入數據嗎? 如果是,我已經嘗試使用PhpMyAdmin輸入unicode數據,所以它對我來說很好 - 你可以嘗試使用phpmyadmin輸入數據並使用php腳本檢索它來確認。 如果需要通過Php腳本提交數據,只需在創建mysql連接時設置NAMES和CHARACTER SET,然後再執行插入查詢,以及選擇數據時。 看看上面的帖子找到語法。 希望能幫助到你。

**更新**剛剛修正了一些錯別字等

xampp中文亂碼 xml

我必須將hindi文本存儲在MySQL數據庫中,使用PHP腳本獲取它並將其顯示在網頁上。 我做了以下事情:

我創建了一個數據庫並將其編碼設置為UTF-8,並將其整理為utf8_bin 。 我在表中添加了一個varchar字段,並將其設置為接受charset屬性中的UTF-8文本。

然後我開始向它添加數據。 在這裡,我不得不從現有網站複製數據。 印地文文本如下:सूर्योदय:05:30

我直接將此文本複製到我的數據庫中,並使用PHP代碼echo(utf8_encode($string))來顯示數據。 這樣做後,瀏覽器顯示“??????”。

當我通過瀏覽器中的“查看源”插入UTF等效文本時,सूर्योदय轉換為&#2360;&#2370;&#2352;&#2381;&#2351;&#2379;&#2342;&#2351;

如果我輸入並存儲&#2360;&#2370;&#2352;&#2381;&#2351;&#2379;&#2342;&#2351; 在數據庫中,它完美轉換。

所以我想知道的是我如何直接將सूर्योदय存儲到我的數據庫中並獲取它並使用PHP在我的網頁中顯示它。

此外,任何人都可以幫助我理解,如果有一個腳本,當我輸入सूर्योदय時,給我&#2360;&#2370;&#2352;&#2381;&#2351;&#2379;&#2342;&#2351;

找到解決方案

我寫了以下示例腳本,對我有用。 希望它也可以幫助其他人

<html>
  <head>
    <title>Hindi</title></head>
  <body>
    <?php
      include("connection.php"); //simple connection setting
      $result = mysql_query("SET NAMES utf8"); //the main trick
      $cmd = "select * from hindi";
      $result = mysql_query($cmd);
      while ($myrow = mysql_fetch_row($result))
      {
          echo ($myrow[0]);
      }
    ?>
  </body>
</html>

我的數據庫存儲hindi utf字符串的轉儲是

CREATE TABLE `hindi` (
  `data` varchar(1000) character set utf8 collate utf8_bin default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `hindi` VALUES ('सूर्योदय');

現在我的問題是,如果沒有指定“META”或標題信息,它是如何工作的?

謝謝!




對於那些正在尋找PHP(> 5.3.5)PDO語句的人,我們可以按如下方式設置charset:

$dbh = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', 'username', 'password');



Related