1、发现问题。经过测试,发现在windows10上浏览一切正常,上传图片浏览正常,但是上传到linux服务器后出现上传图片浏览失败的情况。
2、图片名称如果全部是英文,不包含中文等特殊字符,则在linux上也浏览正常,图片名称包含中文则失败。浏览失败后thinkphp5找不到资源,之后会将public目录下的图片上传文件夹uploads当做是模块进行解析,就会提示模块找不到的错误,其实归根结底就是因为找不到图片(这个图片包含中文特殊字符)这个资源。
3、在windows上用flashFXP软件上传到linux,出现上述含中文名图片找不到。
将该项目在deepin15.4上通过firefox浏览器的FireFTP插件,重新建立链接后发现,服务器中包含中文名的目录及图片乱码。用FireFtp重新上传后中文名正常。
4、结论:FlashFXP上传包含中文的图片和目录似乎改变了非英文字符的编码,导致乱码。firefox浏览器的FireFTP插件使用正常。
备注:eclipse中的目录若要包含中文且不乱码则需要使用gbk编码,数据库中保存数据使用utf8编码。