簡體   English   中英

mysql_real_escape_string和撇號問題

[英]mysql_real_escape_string and apostrophe problem

因此我一直在使用mysql_real_escape_string將數據插入到數據庫中...但是,當我這樣做時,它會用符號’替換所有的撇號

所以它不是顯示它,而是顯示它.......

當我從數據庫中讀回時,有沒有辦法將那些字母轉換成撇號?

這是某種程度上的字符編碼問題。

因為在UTF-8中, ' (U + 2019)用0xE28099編碼。 Windows-1252中 ,它表示字符â (0xE2), (0x80)和 (0x99)。

因此,您似乎只是忘記了正確指定輸出字符編碼,因此瀏覽器改為使用其默認字符編碼Windows-1252。

在您的PHP中將mysql_set_charset應用於UTF-8。

確保您的數據庫和應用程序使用相同的字符編碼。

在二進制中, '值與’相同,因此您需要確保編碼設置相同。

在您的PHP應用程序中,您可以使用以下兩行來指定它。

define(‘DB_CHARSET’, ‘utf8′);
define(‘DB_COLLATE’, ”);

這會將您的應用程序設置為使用UTF-8字符集,您必須確保該字符集與數據庫的排序規則相匹配,然后問題才會消失。

您可以使用mysql_set_charset函數以編程方式更改數據庫字符集。

暫無
暫無

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

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