fopen不能创建中文文件名文件的问题
2008-03-20 20:02
274 查看
之前网页的chartset用的是utf-8,文件也用utf-8,然后用fopen()创建一个中文文件名的文件时问题就出来了,文件名都是乱码!
查看了很多文档试了不少方法都解决不了,本来想着用别的方法绕过这个问题,忽然脑子里闪过Windows默认的文字编码是ansi,然后再baidu了一下,证实了这点,所以我的网页也应该是ansi编码才能使创建的文件名不会是乱码。
接着就着手验证,把网页都用ansi保存,去掉chartset语句,果然ok了,但是网页的内容就成乱码了,后来想起,这个网页还include了别的网页,把include的网页也改成ansi保存,哈哈万事ok
编程这个工作真的很靠积累,如果我以前没看过Windows默认编码是ansi,那这个问题就不知何年何月才能解决了
ps:<meta content="text/html; charset=utf-8" http-equiv="Content-type"> 这个meta标记一定要放在<title></title>之前才有效的
后来又想到了一个更好的解决方法,网页还是用utf-8编码和保存,只是fopen()里的文件名参数单独给它编下码就行,php有iconv()这个改换编码的程序,把utf-8转成gb2312就可以避免中文文件名为乱码了
文章转至:http://hi.baidu.com/jingweidu/blog/item/cfa39e4599269e3c86947335.html
查看了很多文档试了不少方法都解决不了,本来想着用别的方法绕过这个问题,忽然脑子里闪过Windows默认的文字编码是ansi,然后再baidu了一下,证实了这点,所以我的网页也应该是ansi编码才能使创建的文件名不会是乱码。
接着就着手验证,把网页都用ansi保存,去掉chartset语句,果然ok了,但是网页的内容就成乱码了,后来想起,这个网页还include了别的网页,把include的网页也改成ansi保存,哈哈万事ok
编程这个工作真的很靠积累,如果我以前没看过Windows默认编码是ansi,那这个问题就不知何年何月才能解决了
ps:<meta content="text/html; charset=utf-8" http-equiv="Content-type"> 这个meta标记一定要放在<title></title>之前才有效的
后来又想到了一个更好的解决方法,网页还是用utf-8编码和保存,只是fopen()里的文件名参数单独给它编下码就行,php有iconv()这个改换编码的程序,把utf-8转成gb2312就可以避免中文文件名为乱码了
文章转至:http://hi.baidu.com/jingweidu/blog/item/cfa39e4599269e3c86947335.html
相关文章推荐
- 浅谈php中fopen不能创建中文文件名文件的问题
- php中fopen不能创建中文文件名文件的问题
- php中fopen不能创建中文文件名文件的问题
- 使用edtftpnet上传文件到Serv-U出现乱码的问题,并且不能创建中文文件名或文件夹。
- [完]PHP文件下载 下载GET值中含有中文字符的文件,保存中文文件名,文件不能打开,遇到的编码问题
- 解决FlashFXP5 不能下载中文文件名文件的问题(显示文件名中文正常下载文件名是乱码)
- 解决eclipse编辑时文件不能保存中文的问题
- properties文件不能保存中文问题
- jsp实现文件下载与中文文件名乱码问题解决
- 使用Content-Disposition: attachment; filename=FILENAME,在Firefox浏览器中下载文件,文件名中文乱码问题解决。
- 文件下载中文文件名问题
- 解决Logback生成的日志文件不能显示中文的问题
- 解压文件源码(需要引入ant.jar包,解决zip文件名为中文出现乱码问题)
- python 文件下载中文文件名问题
- 文件下载与中文文件名乱码问题解决
- Django下载文件时,中文文件名问题
- sharepoint 中用自带的download.aspx实现文件的下载,中文文件名编码的问题
- 问题:在MyEclipse中,jsp文件输入中文,文件不能保存
- 解决vs2010下不能创建项目及文件的问题
- 文件下载 response.setHeader()下载中文文件名乱码问题 解决办法