我的代码:
echo mb_convert_case('Björk Guðmundsdóttir', MB_CASE_UPPER, 'UTF-8');
echo mb_convert_case('Björk Guðmundsdóttir', MB_CASE_LOWER, 'UTF-8');
和输出:
BJRK GUMUNDSDTTIR
bjrk gumundsdttir
删除了一些字符。谁知道为什么?
更新1:
我注意到我的PHP文件被保存为UTF-8。所以,我把它保存为UTF-8并再次运行代码。我的新结果:
BJÖRK GUÃMUNDSDÓTTIR
björk guðmundsdóttir
更新2:
我猜问题只是它在浏览器中显示出奇怪。通过添加header('Content-Type: text/html; charset=utf-8');
答案 0 :(得分:1)
首先确保您的编辑器设置为没有BOM的UTF-8,然后您必须确保传递给该函数的文本实际上是UTF-8,因为这是您指定的第三个参数。然后它应该工作
编辑:您可能还想检查您的浏览器是否正确解释字符,并确保页面使用<meta>
标记或PHP header()