+ -
当前位置:首页 → 问答吧 → 关于echo输出的字符串乱码问题

关于echo输出的字符串乱码问题

时间:2011-10-22

来源:互联网

首先我肯定不是ContentType的问题,因为页面已经声明ContentType,而页面其余的部分中文显示正常.
 
  问题描述:
  $req = $_SERVER['REQUEST_URI']; // 这里可以拼写错误,程序里没错
   
  $pattern = "#.*#i";  
  preg_match_all($pattern,$req,$mats,...) // ...是那个标记
  print_r($mats); // 输出已匹配的数组,问题来了,$mats为空数组
   
  echo $req; // 在firefox下查看源码,字符串没有问题
  // 但是把这个字符串复制到notepad++里,就是????index.php?page=1
  // 出现了几个????,这是乱码?

  对我来说,影响最大的就是preg_match_all匹配不了的问题,因为我要通过正则匹配实现"伪静态"的.
  另外一个,我一说就会让这个问题变得更操蛋.
  我现在有三个页面,其他两个页面的做法是一样的,结果也是正常的,唯独这个页面....
  最后我没办法,只得把参数改回index.php?m=1&page=1的形式.

  求解答,谢谢.
   
   
 

作者: pywepe   发布时间: 2011-10-22

编辑器与你的程序编码不一致。。你统一下即可。

作者: jordan102   发布时间: 2011-10-22

JF 估计是伪静态正则匹配 里面有错误

作者: amu1433   发布时间: 2011-10-22

引用 1 楼 jordan102 的回复:

编辑器与你的程序编码不一致。。你统一下即可。


我认为,都是英文,本应该不存在乱码的问题

作者: pywepe   发布时间: 2011-10-22

引用 2 楼 amu1433 的回复:

JF 估计是伪静态正则匹配 里面有错误


"#.*#i" 这个正则有错?

作者: pywepe   发布时间: 2011-10-22

编码不一致复制的过程复制了一些其他字符 导致无法正常显示.

作者: PhpNewnew   发布时间: 2011-10-22

引用 5 楼 phpnewnew 的回复:

编码不一致复制的过程复制了一些其他字符 导致无法正常显示.


这个我尝试过,在notepad++中改变编码,从ansi到utf8,也不行,还是????

作者: pywepe   发布时间: 2011-10-22

BOM 头???

作者: xuzuning   发布时间: 2011-10-22

引用楼主 pywepe 的回复:
echo $req; // 在firefox下查看源码,字符串没有问题
// 但是把这个字符串复制到notepad++里,就是????index.php?page=1
// 出现了几个????,这是乱码?


firefox 浏览器默认什么编码, notepad++ 默认什么编码,什么系统

作者: ihefe   发布时间: 2011-10-22

复制了多余的字符。
utf8-无bom编码正常么?

你应该先更改文件的编码格式,然后把字符复制过去

作者: ohmygirl   发布时间: 2011-10-22