簡體   English   中英

在php中顯示字符編碼

[英]display character encoding in php

我已經在PHP中從MySQL檢索數據並將其發布到客戶端:如果我使用select * from users LIMIT 8; 沒問題..但是當select * from users LIMIT 9;select * from users LIMIT 9; 最后檢索到的數據打破了頁面..當我在php中調試時,我也看到此數據看起來還不錯:

1 = "CN=User1,OU=ARGE,OU=Personel,OU=Kullanicilar,OU=CompanyName,DC=company,DC=intra 2 ="CN=User2,OU=ARGE,OU=Personel,OU=Kullanicilar,OU=CompanyName,DC=company,DC=intra 3 ="CN=User3,OU=ARGE,OU=Personel,OU=Kullanicilar,OU=CompanyName,DC=company,DC=intra 4 ="CN=User4,OU=ARGE,OU=Personel,OU=Kullanicilar,OU=CompanyName,DC=company,DC=intra 5 ="CN=Öney,OU=ARGE,OU=Personel,OU=Kullanicilar,OU=CompanyName,DC=company,DC=intra

但是沒有從php返回的數據。.很明顯,'Ö'字符引起了這種情況,但是我不明白為什么它看起來很真實,而我的字符編碼是:

我的頁面

這也是我頁面的頂部:

header('Content-Type: text/html; charset=ISO-8859-1');

當我在mypage.php的html中鍵入標題``完成4個任務''時,它看起來是:``完成4個任務''。 在stackoverflow中看起來不錯,我想要我的..現在在html或php或兩者中都找不到問題了嗎?

編輯:由於我在腳本變量中看到“Öney”字符,所以我認為在php頁面中存在問題。

我的連接設置:

$this->dbh = new PDO('mysql:host=localhost;dbname=webfilter;port=3306;connect_timeout=15', 'root', 'company');
            $this->dbh->exec("set names utf8");

您要在meta中將字符集指定為UTF-8

<meta charset="utf-8"/>

但是您要在PHP中指定ISO-8859-1

header('Content-Type: text/html; charset=ISO-8859-1');

您將需要保持一致性,更改PHP標頭函數以將字符集也設置為UTF-8:

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

其他可能有幫助的步驟:

  1. 將文件編碼設置為UTF-8。

  2. 將表列設置為UTF-8(通常使用utf8-general)。

  3. 連接到數據庫后,運行查詢SET NAMES utf8

更改

header('Content-Type: text/html; charset=ISO-8859-1');  

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

在HTML中, charsetutf-8 ,但在PHP中則不同。 確保它們相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM