当我的 PHP 脚本使用 UTF-8 编码并使用非 ASCII 字符运行时,某些 PHP 函数(例如)strtolower()
不起作用。
我可以使用 mb_strtolower,但是这个脚本可以在各种不同的平台和配置上运行,并且多字节字符串扩展可能不可用。我可以在使用前检查该函数是否存在,但我的代码中到处都是字符串函数,我不想替换每个实例。
有人建议使用set_locale(LC_CTYPE, 'C')
,他说这会导致字符串函数正常工作。这听起来不错,但我不想在不了解它在做什么的情况下介绍这种变化。之前用过set_locale来改变数字的格式,但是之前没用过LC_CTYPE
flag,也不是很明白它的作用。价值'C'
是什么意思?