[英]Spanish Characters Not Encoding Correctly
我正在菲律賓的一個項目中工作,其中許多人的名字中都有特殊的拉丁波浪號字符。
我在latin1中使用latin1_swedish_ci排序規則建立了一個包含所有表的數據庫。
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | C:\xampp\mysql\share\charsets\ |
+--------------------------+--------------------------------+
我的網頁標題將iso-8859-1聲明為字符集。
例如,當我通過Web表單提交包含波浪號字符的員工姓名時,它在我的表格中顯示為“ Marie Caon”,並且當我查看該員工的記錄時,在我的網頁上也顯示相同的名字。
如果我將網頁編碼更改為utf-8,它將正確顯示為“ MarieCañon”。 因此,我假設我以某種方式在latin1表中編碼UTF-8。 但是我對可能發生的地方感到困惑。
據我所知,PDO不處理編碼。 我的網頁被聲明為iso-8859-1,因此我認為PHP不會引起問題。 我的character_set_connection在MySQL中是latin1。
這可能在哪里發生?
附加信息:Ubuntu 10.04.2 LTS MySQL 5.1.41-3ubuntu12.9-log PHP5:5.3.2 Apache2:2.2.14
header('Content-type: text/html; charset=UTF-8');
和 <meta http-equiv="Content-type" value="text/html; charset=UTF-8" />
和 這為我工作:
$ title = mb_convert_encoding($ article ['title'],“ UTF-8”,“ iso-8859-1”);
用於西班牙口音
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.