簡體   English   中英

西班牙語字符編碼不正確

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

  1. 將您的MySQL切換到utf-8。
  2. 安裝mbstring PHP擴展並進行配置。
  3. 創建您的PHP標頭: header('Content-type: text/html; charset=UTF-8');
  4. HTMLheaders <meta http-equiv="Content-type" value="text/html; charset=UTF-8" />
  5. 檢查這張備忘單

這為我工作:

$ title = mb_convert_encoding($ article ['title'],“ UTF-8”,“ iso-8859-1”);

用於西班牙口音

暫無
暫無

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

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