2011-05-09 70 views
0

我有多個語言字符被插入到MySQL MyISAM表的varchar列中。某些字符無法插入到數據庫中

一個特別的角色,我敢肯定還有其他的失敗中插入:

這是什麼字,我怎麼可以把這個角色,而不會影響整個單詞。可以用來操縱這些單詞的服務器端代碼是php。是實際的話,包括這個符號

例子如下:

portugus

espaa

什麼是正確插入這些詞的最好方法是什麼?

+0

這只是替代字符。字符編碼不匹配發生在某個點。你究竟在哪裏看到這個角色?獲取提交的數據後,但在使用PHP插入數據庫之前?或者在使用數據庫管理工具插入數據庫之後?或者在使用PHP檢索數據庫之後,但在發送到瀏覽器之前?或者使用webbrowser在HTML中顯示數據之後? – BalusC 2011-05-09 20:48:06

+0

在插入數據庫之前。我需要查看代碼庫,看看被插入的數據是否已被操縱。 – HGPB 2011-05-09 20:52:34

+0

你如何查看/顯示它?通過回顯給瀏覽器?如果是這樣,你是否通過header('Content-Type:text/html; charset = utf-8')'設置了正確的響應編碼? – BalusC 2011-05-09 20:54:19

回答

1

獲得專業問題的權利可以是一個使命。看看我幾周前撰寫的這篇博客文章,該文章應該涵蓋這一點。如果你仍然有問題,請回到這裏。

How to Avoid Character Encoding Problems in PHP

+0

謝謝,我來看看。 – HGPB 2011-05-09 20:53:23

+0

您在最後提到的「PHP字符串函數不是unicode意識到的」是我的問題。感謝您的鏈接。 – HGPB 2011-05-11 12:35:22

+0

更多信息:http://www.phpwact.org/php/i18n/utf-8 – HGPB 2011-05-11 12:36:25