我測試過使用PHP setlocale功能strtolower我的標準UTF-8編碼和波蘭字母。
不幸的是,我的經驗告訴我,那些功能不喜歡UTF-8。
在Windows中,我無法使用它。
那麼,事實證明,我不能在我的主機服務器上使用Linux cp15.vpsi.pl 2.6.32-220.4.1.el6.x86_64 x86_64都沒有。 我在該系統上使用了locale -a命令,以發現我必須使用pl_PL.UTF-8並且setlocale函數接受了它。
那麼,strtolower函數只能重複我輸入的波蘭大寫字母的字符串不變,發現它很難將波蘭字母轉換爲小寫字母。
pl_PL.iso88592不會發生此問題。
據我所知,UTF-8是最好的編碼,尤其是當你使用WordPress。 UTF-8僅適用於非常複雜的計算機系統嗎?PHP setlocale不允許像strtolower這樣的PHP函數爲UTF-8正常工作?
1
A
回答
1
從http://php.net/manual/en/function.strtolower.php
strtolower();
並不波蘭字符
<?php strtolower("mĄkA"); ?>
工作將返回:馬卡
最佳的解決方案 - 使用
mb_strtolower()
<?php mb_strtolower("mĄkA",'UTF-8'); ?>
將返回:馬卡
1
使用mb_strtolower()功能。這將工作。
0
mb_函數很好。可惜我的php.exe(用於win7中的cmd.exe - cli)沒有這個模塊,並且無法識別這些函數。
0
setlocale(LC_CTYPE, 'pl_PL.UTF-8');
$str = iconv('utf-8', 'ascii//translit', $str);
$str = strtolower($str);
相關問題
- 1. PHP的setlocale(LC_MONETARY, 'EN_US')未正常工作
- 2. PHP - setlocale(LC_MONETARY,'en_IN');不工作
- 3. php mail()函數不能正常工作
- 4. PHP遞歸函數工作不正常:(
- 5. PHP函數不能正常工作。。?/
- 6. Php函數不能正常工作
- 7. PHP函數不能正常工作
- 8. PHP JPEG函數不能正常工作
- 9. php mysql_num_rows()函數不能正常工作
- 10. 該表不允許CSS正常工作
- 11. PHP圖像不能正常工作
- 12. 使PHP pspell函數正常工作。
- 13. PHP DateTime()函數無法正常工作
- 14. 綁定函數允許添加按鈕正常工作
- 15. 爲什麼不能正常工作? Android不允許構造函數?
- 16. PHP:日期 「F」 在與setlocale不工作
- 17. stristr PHP函數不能正常工作,因爲它應該
- 18. PHP函數不能正常工作,因爲它應該
- 19. PHP不能正常工作
- 20. PHP file_exist工作不正常?
- 21. PHP connection_aborted()工作不正常
- 22. PHP ereg_replace工作不正常
- 23. str_replace工作不正常PHP
- 24. PHP setlocale不起作用
- 25. PHP-FPM:操作不允許
- 26. 爲什麼這不能正常工作PHP?
- 27. JSF setLocale無法正常工作
- 28. Laravel 5.1 setLocale無法正常工作
- 29. PHP的遞歸函數不能正常工作
- 30. JavaScript的Ajax調用PHP函數不能正常工作
好的解決方案。謝謝。那麼,setlocale不能只在類似功能的strtolower上工作。大小寫不敏感的函數如** str_ireplace **怎麼樣? – 2013-02-22 08:36:47
您可以在這裏找到多字節字符串函數的完整列表:http://www.php.net/manual/en/ref.mbstring.php – 2013-02-22 08:50:34
是的,我已經瀏覽過它們。謝謝你。 :) – 2013-02-22 19:25:57