2014-02-15 75 views
0

我已經閱讀了很多關於utf8的內容,所以在我的web系統上,我在數據庫(表和COLLATION)上設置了UTF8,帶有標題的頁面('Content-Type:text/html; charset = utf-8');我還用「沒有BOM的UTF8」保存了我的文件。所以,這是我的問題:我有一個從數據庫「$ row ['palabra']」得到的單詞,如果我打印該變量的輸出是「árbitro」(我也使用mb_detect_encoding php函數來檢查,並且是UTF8),但是如果我想使用該變量的一個字母,就像這樣:「$ row ['palabra'] [1]」(我不知道爲什麼索引不能從0開始)I得到這個符號是因爲字母「a」有重音: 。爲什麼?UTF-8不能在我的網絡系統上工作(php,mysql)

ps:我需要使用這些字符串的一些字母比較來做我係統上的其他事情。

+0

「我不知道爲什麼指數不會從0開始」 < - 應該告訴你一些事情...... – PeeHaa

+0

字符串函數和使用'[] '在字符串上工作,而不是字符級;你需要使用[mb_ *](http://www.php.net/manual/en/ref.mbstring.php)函數 –

+0

謝謝@MarkBaker我不知道。 –

回答

0

嘗試mb_substr()

echo mb_substr($row['palabra'],0,1); //output: á 
+0

我還有一個 ... ps:加上「row」a $;) –

+0

我添加了「encoding」參數,現在工作:mb_substr($ row ['palabra'],0,1,'utf- 8')謝謝! –

相關問題