》》》》》htm文件以默认编码语言显示 急,急,急!!!!!《《《《《《

Trinea 2009-11-23 09:54:57
搞了这么长时间,实在不行了,大牛帮帮忙啊

$fileLink = "<a href=".$linkTemp.str_replace(" ", "%20", $info['文件名'])." target=\"_blank\">";

echo "<tr><td class=\"textLink\" width=\"400\">".$fileLink.$info['标题']."</a></td></tr>";


上面是php源程序的代码,效果是点击$info['标题']超链接就能打开某个文件,该文件是htm文件

现在有一些html文件,charset=windows-1252 保存在linux服务器上,但是在windows下浏览该网站点击链接打开该文件时,浏览器编码方式为简体中文(GB2312),这时候出现很多乱码,当手动将浏览器编码方式改为西欧windows时可以正常显示

我用ftp通过远程下载了该htm文件,用浏览器打开的编码方式默认为西欧windows,可以正常显示

现在我想怎么可以使得当点击该超链接的时候能让浏览器以默认编码方式西欧windows正常显示,其实就是以链接到的htm文件源码中默认的charset显示

在网上找了很多原因,修改apache配置(行不通,应为服务器上不止挂了一个网站,也不是我能控制的,记得服务器默认编码方式为GB2312)

修改源文件,就是我要打开的html文件(也行不通,因为那个文件时需要通过网站后台传上去的,随时可能传不同编码的htm文件)

我自己用<a charset="windows-1252" href=...>试了也没效果

哪位大牛帮忙解决下啊,急,thx

源码中的$info['文件名']和$info['标题']是从数据库中读取出来的,读取之前有
mysql_query("set character set gb2312");
操作,不知道有没有影响,我改了好像也不行的

之前有人用asp写的网站差不多同样的手法,也是相同的文件,就没有出现该问题,点击文件默认是以西欧windows显示的
...全文
181 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Trinea 2009-11-24
  • 打赏
  • 举报
回复
非常感谢各位的回答,虽然以上所有的办法都没有把问题解决

我自己用了个最笨的办法,把里面十几个htm文件全部下载了,然后另存为gb2312格式的htm文件,重新往服务器上传了一份,覆盖了原来的就行了

现在还有点小问题,上传的htm文件都是word另存为过来的,那些htm格式是西欧windows就是因为上传文件的电脑word另存为默认是西欧windows,不知道怎么改,有大N有办法吗,我自己电脑试了默认转换后事gb2312的
chokobo 2009-11-24
  • 打赏
  • 举报
回复
保证文件保存格式和charset的格式一致
Trinea 2009-11-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zuo_hy 的回复:]
看过了,类似的问题没有碰到,
既然目标文件已经制定了西欧字体,通过window.open的方式可以 不。
[/Quote]

你说js的open,试试
Trinea 2009-11-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wcwtitxu 的回复:]
静态的 htm 页面

你还是得

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />


既然,不是 gb2312 字符集保存, 你就应该将已有的

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

替换为

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
[/Quote]

根本没用,我试了,不仅原来的文件乱码了,浏览器默认还是gb2312
道光2008 2009-11-24
  • 打赏
  • 举报
回复
用ue 编辑,另存
byte377 2009-11-24
  • 打赏
  • 举报
回复
JF
wcwtitxu 2009-11-24
  • 打赏
  • 举报
回复
静态的 htm 页面

你还是得

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />


既然,不是 gb2312 字符集保存, 你就应该将已有的

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

替换为

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
弘毅致远 2009-11-23
  • 打赏
  • 举报
回复
看过了,类似的问题没有碰到,
既然目标文件已经制定了西欧字体,通过window.open的方式可以 不。
Trinea 2009-11-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sohighthesky 的回复:]
引用 2 楼 lethe1989 的回复:


<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

不能再加了吧,只希望找到设置浏览器默认编码方式的方法

据我所知这就是设置浏览器解析时编码的唯一方式,

等楼下高手 来解决
[/Quote]

静静等待大N的到来
sohighthesky 2009-11-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lethe1989 的回复:]


<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

不能再加了吧,只希望找到设置浏览器默认编码方式的方法
[/Quote]
据我所知这就是设置浏览器解析时编码的唯一方式,

等楼下高手 来解决
Trinea 2009-11-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sohighthesky 的回复:]
加在htm的head中
HTML code<metahttp-equiv="Content-Type" content="text/html; charset=windows-1252"/>
[/Quote]

该代码的调用文件中已经有

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

不能再加了吧,只希望找到设置浏览器默认编码方式的方法
sohighthesky 2009-11-23
  • 打赏
  • 举报
回复
加在htm的head中
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />

61,112

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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