小编Tim*_*nes的帖子

2个PHP系统上的不同正则表达式输出?

鉴于此测试脚本:

<?php

echo setlocale(LC_ALL, '') . "\n";

$in = 'Città';

$var = preg_replace('/\s+$/', '', $in);

echo bin2hex($in) . "\n";
echo bin2hex($var) . "\n";
Run Code Online (Sandbox Code Playgroud)

关于Ubuntu的PHP 5.5.3,我得到:

en_GB.UTF-8
43697474c3a0
43697474c3a0
Run Code Online (Sandbox Code Playgroud)

Mac上的PHP 5.5.9(通过Macports)

en_GB.UTF-8
43697474c3a0
43697474c3
Run Code Online (Sandbox Code Playgroud)

有没有什么理由为什么Macports构建将以à不同的方式对待角色?

我知道c3a0,当被视为ASCII中的两个字节时,Ã后面跟着一个不间断的空格.我想知道为什么一个系统将2个字节视为没有u修饰符的UTF-8 .

php regex unicode

5
推荐指数
1
解决办法
107
查看次数

标签 统计

php ×1

regex ×1

unicode ×1