[英]Charset is not working - Spanish characters
這真的讓我發瘋。 我正在建立一個西班牙語網站(意思是許多拉丁字符),並且正在使用Zend框架。
當我保存一個á
它會顯示為á
。 我知道是字符集編碼,但我不明白為什么。
我的頭字符集是<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
我的數據庫是utf8_general_ci
。 我已經將字符集更改為其他字符集,並且始終是相同的問題。
當我看到在我的數據庫,內容被保存,是á
知道為什么會這樣嗎? 謝謝!
這是擺脫編碼難題的方法:
utf8_unicode_ci
。 meta
標記: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
如果您有權訪問MySQL文件配置my.cnf
只需添加以下行:
init-connect='SET NAMES utf8'
這告訴MySQL為每個連接以UTF-8返回結果。
如果您無法編輯my.cnf
但使用的是PDO,請按以下方式打開連接:
$pdo = new PDO($dsn, $usr, $pwd, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
如果您不使用PDO ... 開始使用它,還等什么呢? 同時,如果使用ext / MySQLi,則可以在每次連接后執行此操作:
$mysql->set_charset('utf8');
如果您使用普通的舊版ext / MySQL,則執行以下操作:
mysql_set_charset('utf8', $connection);
可以使用unicode
映射ASCII映射之外的字符á
和其他字符。
在使用UTF-8
字符集存儲表中的數據時,字符已正確存儲。
我建議你
運行查詢SET NAMES UTF-8
。 這將在照顧ASCII映射之外的字符的情況下獲取您的UTF-8
數據。
在輸出數據時,請確保您正在強制/定向瀏覽器以使用UTF-8
字符集來打印數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.