引言
给老师做网站,用wordpress来做。最后在测试阶段,发现附件上传后,服务器上面的中文文件名乱码,系统生成的超链接无法访问到附件,同时在上传完成时,页面上附件名显示也不正确。
原因分析
很容易想到,是编码问题。服务器系统是中文版windows 2003,IIS的版本不记得了。应该是对utf-8的文件名不支持。
给老师做网站,用wordpress来做。最后在测试阶段,发现附件上传后,服务器上面的中文文件名乱码,系统生成的超链接无法访问到附件,同时在上传完成时,页面上附件名显示也不正确。
很容易想到,是编码问题。服务器系统是中文版windows 2003,IIS的版本不记得了。应该是对utf-8的文件名不支持。
首先,得说明,官方的程序是没有问题了,所以说,添加那些添加ob_start()缓冲等函数都是没有用的!
Sablog-x Plus使用的是UTF-8(无BOM)编码,并且目前,php4和php5都不支持包含BOM的UTF-8编码的我文件,找到原因了,就说怎么解决。
首先我们查看报错信息 Warning: Cannot modify header information – headers already sent by(xxxxxx.php),这个括号里面的文件就是编码错误的文件!把这个文件用FTP或者怎样下载下来。
然后,我们可以用Dreamweaver打开该文件,按Ctrl+J,打开页面属性窗口。切换到“标题/编码”标签下,把编码修改为Unicode (UTF-8),并且去掉底部的勾勾(包括Unicode签名BOM),如图。
然后选择确定,再保存这个修改过的文件,上传到服务器上面替换掉原来的文件。这样应该就可以了!
当然你也可以使用其他的编辑器,如Notepad++等,同样可以修改编码。
以前很多人问我碰到这个问题怎么解决,当初,我也不知道怎么办!在这次,我碰到了这个问题之后,谷歌了许多网站,找出了原因。不过,是在付出了备份并且删除了全部源文件的代价下的!
希望本文对你有用!