使用fopen创建文件,文件名中文会使乱码怎么解决

hfxujing1 2016-09-24 04:08:21
<?php
header("Content-type:text/html;charset=gb2312");
$title='四川';
$fp=fopen("$title.txt", 'a');

echo 'cunzai';
?>


...全文
1597 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2016-09-24
  • 打赏
  • 举报
回复
你的 header("Content-type:text/html;charset=gb2312"); 属于画蛇添足 你的程序文件明明是 utf-8 的,却要向浏览器去声明是 gbk 的,这不是在添乱吗? 你要做的是转码!
if(PHP_OS == 'WINNT')  $title = iconv('utf-8', 'gbk', $title);
$fp = fopen("$title.txt", 'a');
hfxujing1 2016-09-24
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
你的程序文件是 utf-8 的,而你的操作系统是 gbk 的 所以就出现了乱码文件名
那版主这个怎么改啊? header("Content-type:text/html;charset=GBK");这个好像是更改的文件里面的内容编码啊? 或者说 我在创建这个文件的时候可以设置他的编码格式?
xuzuning 2016-09-24
  • 打赏
  • 举报
回复
你的程序文件是 utf-8 的,而你的操作系统是 gbk 的 所以就出现了乱码文件名

21,886

社区成员

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

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