php strtolower 在不同运行模式下结果不同的疑问?

$str = 'cbqNK78你玩👌😁ā';
用strtolower 处理完后,
为什么web 模式可以正常显示,而用命令行运行,却是 "cbqnk78你玩👌😁�"
变成乱码了?

不同模式下,结果为什么会不一样。

阅读 2.4k
2 个回答

我在本地测试正常,命令行和网页可能会使用不同的配置文件,你可以看看 php -i | grep mbstring 的输出,命令行的 PHP 是否加载了 mbstring 模块。

strtolower底层是调用的C语言的tolower 方法,在CLI和WEB上应该是没区别。猜测是你的控制台和浏览器对ā字符解析不通导致的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题