问题描述:在php使用sendmail发送邮件时中文附件名出现乱码,如图:
原因分析:这是由于编码引起的错误。
解决办法:首先强制进行编码换:
substr($file_name,strrpos($file_name,'/') +1 )
其中$file_name为文件路径。
然后再将编码转换成中文编码GB2312格式:
mb_convert_encoding(substr($file_name,strrpos($file_name,'/') +1 ),"GB2312")
搞定!结果如下:
PS:basename()无法解析中文,直接滤掉中文信息,变成.jpg
结语:上述第一步来自https://blog.youkuaiyun.com/kongbu0622/article/details/7313742
必须感谢!第二步为原创,转载随意,希望能帮到你!