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

pywepe 2011-10-22 09:15:23
首先我肯定不是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的形式.

求解答,谢谢.


...全文
1002 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiachao2008 2011-11-18
  • 打赏
  • 举报
回复
从我现在接确到的,乱码问题,全部都是编码不对

你用记事本另存为一下,选一种编码试试
蓝雪儿 2011-11-18
  • 打赏
  • 举报
回复
将编码设置为utf-8
rlyaze 2011-10-23
  • 打赏
  • 举报
回复
学习学习
pywepe 2011-10-22
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ihefe 的回复:]

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


firefox 浏览器默认什么编码, notepad++ 默认什么编码,什么系统
[/Quote]
浏览器默认是auto,网页是utf8
xp系统,notepad++默认是ansi
ohmygirl 2011-10-22
  • 打赏
  • 举报
回复
复制了多余的字符。
utf8-无bom编码正常么?

你应该先更改文件的编码格式,然后把字符复制过去
pywepe 2011-10-22
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 xuzuning 的回复:]

echo base62_encod($req);
贴出结果,帮你分析一下
[/Quote]

L3RvZGF5eF92Mi9tb250aC9pbmRleC5waHA/bT0wMyZwYWdlPTE=
ihefe 2011-10-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 pywepe 的回复:]
echo $req; // 在firefox下查看源码,字符串没有问题
// 但是把这个字符串复制到notepad++里,就是????index.php?page=1
// 出现了几个????,这是乱码?
[/Quote]

firefox 浏览器默认什么编码, notepad++ 默认什么编码,什么系统
xuzuning 2011-10-22
  • 打赏
  • 举报
回复
BOM 头???
pywepe 2011-10-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 phpnewnew 的回复:]

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

这个我尝试过,在notepad++中改变编码,从ansi到utf8,也不行,还是????
黄袍披身 2011-10-22
  • 打赏
  • 举报
回复
编码不一致复制的过程复制了一些其他字符 导致无法正常显示.
pywepe 2011-10-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 amu1433 的回复:]

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

"#.*#i" 这个正则有错?
pywepe 2011-10-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jordan102 的回复:]

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

我认为,都是英文,本应该不存在乱码的问题
amu1433 2011-10-22
  • 打赏
  • 举报
回复
JF 估计是伪静态正则匹配 里面有错误
一起混吧 2011-10-22
  • 打赏
  • 举报
回复
编辑器与你的程序编码不一致。。你统一下即可。
pywepe 2011-10-22
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 xuzuning 的回复:]

echo base62_encod($req);
贴出结果,帮你分析一下
[/Quote]

代码不在公司,晚上回去再贴,多谢
xuzuning 2011-10-22
  • 打赏
  • 举报
回复
echo base62_encod($req);
贴出结果,帮你分析一下
happypiggy2010 2011-10-22
  • 打赏
  • 举报
回复
编码问题。

21,882

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧