php生成的中文文件名会变成乱码,应该这样解决

时间:2021-11-13 01:00:25

现在php有很多类库,会生成文件,比如生成zip文件,生成二维码等等。这些类库用起来很爽,但是一旦生成带有中文的文件名,极有可能出现乱码。

问题:生成的中文文件名会变成乱码

解决:使用函数:iconv()、rename()

  生成文件名时,直接生成英文名,比如:a.zip、c.zip等等。然后,使用php的移动文件的函数rename即可,

  rename('a.zip',iconv('UTF-8', 'GB2312//IGNORE', '中文a.zip'));
  ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符串都无法被保存。