en-us.php,php – en_US.utf8和en_US.UTF-8之间有区别吗?

博主遇到一个PHP代码在服务器上执行失败的问题,原因是服务器的语言环境为POSIX,而在本地Mac OS X环境下可以正常运行。博主将服务器环境更改为en_US.utf8,但问题依然存在。服务器和本地机器的locale设置差异以及字符集可能是导致字符串比较失败的原因。尽管服务器的UTF-8代码集与本地环境一致,但locale命令的输出格式不同,这可能是一个线索。
摘要由CSDN通过智能技术生成

服务器信息(已删除DNS和IP):

cat /proc/version && uname -a && java -version

Linux version 2.6.16.33-xenU (*************) (gcc version 4.1.1 20070105 (Red Hat 4.1.1-52)) #2 SMP Wed Aug 15 17:27:36 SAST 2007

Linux ************* *************-xenU #2 SMP Wed Aug 15 17:27:36 SAST 2007 x86_64 x86_64 x86_64 GNU/Linux

java version "1.6.0_14"

Java(TM) SE Runtime Environment (build 1.6.0_14-b08)

Java HotSpot(TM) 64-Bit Server VM (build 14.0-b16, mixed mode)

我有一些PHP代码从Excel文件读取并进行字符串比较.由于似乎是一个区域设置问题,它在服务器上失败了.然而,在我的本地机器(OSX 10.8.5 Mountain Lion)上,它可以工作!

在我的本地计算机上,语言环境是en_US.UTF-8.在服务器上,语言环境是POSIX,但我将其更改为en_US.utf8,因为当我查看locale -a时没有en_US.UTF-8(有趣的是,服务器上的语言环境列表都是小写但在我的Mac上它们都是大写的,这是这个问题的起源).

两者之间是否存在可能影响字符串比较的差异?

另外,根据this SF post,我运行了locale -v -a.在服务器上,en-US.utf8使用UTF-8代码集(我假设这与我通常称为charset的相同?).但是,在我的本地机器上,我似乎无法运行locale -v -a命令,尽管locale和locale -a工作正常.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值