为什么会出现部分乱码?

varkychan 2004-03-24 12:38:48
我写一个搜索页面,从一些文章中显示关键字前后两百个字,代码像如下:

$reg="/.{0,200}".$search.".{0,200}/i";
preg_match($reg,$tmp,$match);

但有些字却显示乱码,一般都是后面的几个字,如像下面的就是我COPY下来的样子:

乱码:
Ricardo Software Wave V5.1 迨憟苭縝〞?..

正常:
Ricardo Software Wave V5.1 英文光碟正式版

我用的数据库是MYSQL,脚本是PHP,请问是什么问题?应该如何解决?
...全文
253 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
varkychan 2004-04-03
  • 打赏
  • 举报
回复
可以,但我一用str_replace把某些字符或文字去除时,就又有乱码了(有些有,有些没有),不知何解!又是中文的问题!
varkychan 2004-04-03
  • 打赏
  • 举报
回复
我的还没解决啊!
sahafu89 2004-04-02
  • 打赏
  • 举报
回复
我给你提供的程序不行吗?
varkychan 2004-04-01
  • 打赏
  • 举报
回复
谢谢各位帮助,但问题还是没有解决,什么版本才有mb_ereg_match这个函数?我用的是php4.3.3,但没有这个函数哦!是不是简体跟繁体用的字节不同?我是对繁体的文章进行查找,所以还是有乱码,帮忙想想如何解决!谢谢!
2win 2004-03-31
  • 打赏
  • 举报
回复
UP

关注!
xuzuning 2004-03-31
  • 打赏
  • 举报
回复
使用mb_ereg_match函数就不会用这个问题了
skystar008 2004-03-30
  • 打赏
  • 举报
回复
哈哈哈汉字就是神奇!
别人只要一个字节我们就要比他们的多!
varkychan 2004-03-30
  • 打赏
  • 举报
回复
能不能帮帮忙啊,别叫我去找好不好?我能找到就不来这里问了,希望大家不要光是说说而已,你们要真的帮我才行啊!你们可以帮我贴过来,让我看啊!谢谢啦!
sahafu89 2004-03-30
  • 打赏
  • 举报
回复
太难了
mistjin 2004-03-30
  • 打赏
  • 举报
回复
$str = "中文";
if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) {
echo "这是一个纯中文字符串";
} else {
echo "这不是一个纯中文字串";
}
52juanjuan 2004-03-29
  • 打赏
  • 举报
回复
网上也经常出现这种问题的,都是因为字符串中的汉字取了一半
ccterran 2004-03-29
  • 打赏
  • 举报
回复
网上很多的,搜索一下吧
varkychan 2004-03-29
  • 打赏
  • 举报
回复
我现在知道错误的原因了,但不知道如何解决我现在这种情况,就是我上面贴的那两条代码,因为我要显示关键字前后两百字的内容,用preg_match不能解决中文与英文的字节问题啊,请问如何解决这个问题呢,而又达到我的目的.
多菜鸟 2004-03-24
  • 打赏
  • 举报
回复
应该是取了半个汉字的原因吧。
解决这一问题就OK
52juanjuan 2004-03-24
  • 打赏
  • 举报
回复
这个应该是对字符串的取值时没有算好,比如汉字占两个字节,你只取了汉字的一半,你找一找早几天的一个朋友发的贴子上,那里讲得很清楚

21,887

社区成员

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

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