加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP中的字符串函数是否是ASCII安全的?

发布时间:2020-12-13 18:11:21 所属栏目:PHP教程 来源:网络整理
导读:一些 PHP string functions(如strtoupper等)依赖于语言环境.但是,当我确实知道特定字符串仅由ASCII(0-127)字符组成时,仍然不清楚语言环境是否重要.我可以保证strtoupper(‘abc..xyz’)将始终独立于区域设置返回ABC..XYZ. PHP string functions在ASCII范围内
一些 PHP string functions(如strtoupper等)依赖于语言环境.但是,当我确实知道特定字符串仅由ASCII(0-127)字符组成时,仍然不清楚语言环境是否重要.我可以保证strtoupper(‘abc..xyz’)将始终独立于区域设置返回ABC..XYZ. PHP string functions在ASCII范围内的工作方式与区域设置无关吗?

虽然关于strtoupper的答案对我很重要,但关于所有字符串函数库的问题更为一般.

我想确保用户选择的语言环境(在多语言站点上)不会破坏我的核心功能,这与国际化无关.

Do PHP string functions work the same in ASCII range independent from locale?

不,我不敢.主要的反例是可怕的土耳其dotted-I:

setlocale(LC_CTYPE,"tr_TR");
echo strtoupper('hi!');

-> 'HxDD!' ('H?!' in ISO-8859-9)

在最坏的情况下,您可能必须提供自己的与语言环境无关的字符串处理.调用setlocale恢复到C或其他一些语言环境是一种修复,但POSIX进程级语言环境模型非常适合现代客户端/服务器应用程序.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读