2个字符串,1个编码,不同的值

时间:2014-09-26 05:41:25

标签: php encoding utf-8 character-encoding web-scraping

我有两个字符串,我从网站上抓取。字符串值为'Çorap',但它们在Web浏览器中显示不同:

用于测试的PHP代码:

  echo '<h1> string: '.strtolower('çorap').' encoding: '.mb_detect_encoding(strtolower('çorap')).'</h1>';
  echo '<h1> string: '.strtolower('Çorap').' encoding: '.mb_detect_encoding(strtolower('Çorap')).'</h1>';

结果:

 string: çorap encoding: UTF-8
 string: Çorap encoding: UTF-8

这是什么问题?我怎样才能使第一个字符串像第二个字符串一样?

1 个答案:

答案 0 :(得分:1)

如果您将字符串çorap视为çorap,则表示您的编码设置无效,请尝试:

header('Content-Type: text/html; charset=utf-8');

您不能使用strtolower()函数小写UTF8字符串,请尝试:

var_dump( 'çorap' === mb_strtolower('Çorap', 'UTF-8') );