簡體   English   中英

PHP 引號(“„)和其他特殊字符的編碼問題

[英]PHP encoding issues with quotes (“„) and other special characters

我在德國網站上遇到編碼問題。 我有一個文本:

„Eröffnungsfeier FIS 高山滑雪 WM 2011“

當此文本保存到數據庫中時,我得到了什么? 而不是那些引號。

我試過放置

header("Content-Type: text/html; charset=utf-8");
mb_internal_encoding("UTF-8");
setlocale(LC_ALL, 'de_DE.utf-8');

在文件的頂部沒有成功。

當我用過

mysql_set_charset('utf8', $connect);

但是,當到達第一個字符(如 ö)后在上方插入文本時,文本的 rest 將被刪除。

表字符集和排序規則是 UTF-8。腳本文件保存為 UTF-8,沒有 BOM。

我不知道去哪里看。

1) 檢查你的數據庫模式 - 文本字段是否設置為存儲 utf-8?

2) 聽起來發布到此腳本的頁面沒有發送 UTF-8。它是否具有正確的Content-Type header? echo urlencode($var)顯示什么? (這是一個很好的技巧,可以查看您獲得的原始字節)

我所做的事情有所幫助。 特別是mysql_set_charset('utf8', $connect); . 問題是另一個程序員 (utf8_decode) 留下了一些不需要的代碼。 看起來他無法以其他方式處理 utf-8 編碼。

我還發現mysql_set_charset('utf8', $connect); 如果您從一開始就與編碼保持一致,那么實際上並不需要。

暫無
暫無

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

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