回答
有你需要考慮幾件事情:
- 檢查在數據庫中的數據被存儲爲UTF-8
- 檢查客戶端連接到數據庫是UTF-8(用於例如,在mysql中看到:http://www.php.net/manual/en/mysqli.character-set-name.php)
- 確保頁面的內容類型設置爲UTF-8 [你可以使用header('Content-Type:utf-8'); ]
- 嘗試設置內部編碼,使用mb_internal_encoding(「UTF-8」);
心連心
$first_char = mb_substr($title, 0, 1);
您需要使用PHP的多字節字符串函數正確處理Unicode字符串:
http://www.php.net/manual/en/ref.mbstring.php
http://www.php.net/manual/en/function.mb-substr.php
您還需要指定的<head>
的字符編碼您HTML:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
或:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-16" />
回聲mb_substr($標題,0,1); 結果: –
mb_substr不起作用 –
你可以在這裏發佈完整的字符串嗎? –
PHP字符串不明白默認字節字符串,像索引數組將印章的第一個字節,如果這種情況發生不是在你得到這個結果ASCII範圍。使用mb_substr方法。
正如先前在其他問題中提到,使用PHP,試圖獲取子的時候,它不理解多字節字符(如你用UTF8例如獲得)。
什麼其他的答案不提的是,你應該提示你想使用的mb_substr
因此,編碼,例如,我用這個:
mb_substr("Sunday", 0, 1,'UTF8'); // Returns S
mb_substr("воскресенье", 0, 1,'UTF8'); // Returns в
沒有'UTF8'參數沒有爲我工作。謝謝! – PiTheNumber
- 1. 獲取UTF8字符串
- 2. 獲取字符串中子字符串的第一個字母
- 3. 獲取第二個字符/字符串出現的字符串
- 4. 獲取每個單詞的第一個字符的字符串
- 5. 從字符串數組中獲取第一個字符串c
- 6. 如何獲取SQL中的字符串的第一個字符?
- 7. 的Java獲取第一個字符值的字符串
- 8. 獲取UTF8中字符串的長度
- 9. Ruby:如何獲取字符串的第一個字符
- 10. 獲取並刪除字符串的第一個字符
- 11. Android如何獲取字符串的第一個字符?
- 12. 獲取字符串中第一個字符的Unicode值
- 13. 如何獲取字符串的第一個字符
- 14. 在java中的字符串操作,獲取第一個字符
- 15. Python:獲取列表中第一個字符串的第一個字符?
- 16. 獲取字符串中第一個出現的多個字符串之一
- 17. string [0]從字符串中獲取第一個字符
- 18. 獲取原始utf8字符串
- 19. 獲取第一個空格字符和'='字符之間的字符串
- 20. 獲取字符串的第一個字,並從實際字符串
- 21. C#:如何獲得一個字符串的第一個字符?
- 22. 剝字符串的第一個字符
- 23. PHP:獲取第一個字的第一個字符和第二個字符的三個字符
- 24. 如何從utf8字符串中獲取等效的非utf8字符?
- 25. 如何獲取函數來遍歷字符串並替換字符串的第一個字符,第二個等?
- 26. 字符串的第一個字符和最後一個字符
- 27. C++ ifstream UTF8第一個字符
- 28. 獲取字符串2個字符串
- 29. 如何從utf8字符串中獲取字符
- 30. 獲取分隔符前的第一個字符串?
+1提及數據庫編碼和' mb_internal_encoding' –
......正如在其他兩個答案中提到的,您應該使用'mb_substr' –
mb_internal_encoding(「UTF-8」); - 工作正常!謝謝! –