[英]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.