关于“php文件上传文件名乱码”的问题,小编就整理了【2】个相关介绍“php文件上传文件名乱码”的解答:
为什么文件发过来时文件名是乱码?文件分为两种:一是正常文件,一是链接文件。对于正常的文件在上传后,文件名不会有变化。
对于链接文件,在上传后,系统上传的是链接的目的文件,所以文件名有变化。对于链接文件,如果是链接到本地的文件,则实际上传的是链接到的具体文件,文件名也是那个文件名;如果是链接到一个网页,则实际上传的就是那个网页,文件名则是网址了。
对于出现的所谓的乱码,其实就是那个网页的实际网址。所以建议不要上传链接文件。
文件名显示出来的是乱码?方法一:找一台Windows版本相同且显示正常的机器,依下列步骤进行: 1.在正常机器上选择“开始”→“运行”,在对话框中键入“regedit”,打开注册表编辑器; 2.请你将光标定位到“HKEY_LOCAL_MACHINE systemCurrentControlSetControl Fontassoc”,然后选择“注册表”→“导出注册表文件”,再选择“分支”,导出该分支注册表信息到文件(如ZT.REG)中; 3.把ZT.REG文件拷贝到你那显示乱码的机器上,方法是:在显示乱码的机器上运行“regedit”,打开注册表编辑器,选择“注册表”→“导入注册注册表”,把ZT.REG文件导入注册表中即可。 方法二:如果你找不到一台与你的Windows版本相同且显示正常的机器,则需要手工恢复字体部分的注册表 项,其步骤是: 1.首先在显示乱码的机器上选择“开始”→“运行”,在对话框中键入“regedit”,打开注册表编辑器; 2.选择“HKEY_LOCAL_MACHINESystem CurrentControlSetControlFontassoc”,正常情况下,会有Associated DeaultFonts、Associated CharSet两个文件夹,其正确的内容应是: 子目录内容 中文Win98 中文Win98(OEM版) 中文Win2000 Associated CharSet ANSI(00)=“yes” GB2312(86)=“yes” DEN(FF)=“yes” SYMBOL(02)=“no” ANSI(00)=“yes” GB2312(86)=“yes” OEM(FF)=“yes” SYMBOL(02)=“no” ANSI(00)=“yes” OEM(FF)=“yes” SYMBOL(02)=“no” Associated DefaultFonts AssocSystemFont=“simsun.ttf” FontPackageDecorative=“宋体” FontPackageDontcare=“宋体” FontPackageModern=“宋体” FontPackageRoman=“宋体” FontPackageScript=“宋体” FontPackageSwiss=“宋体” 或 AssocSystemFont=“simsun.ttf” FontPackage=“新宋体” FontPackageDecorative=“新宋体” FontPackageDontcare=“新宋体” FontPackageModern=“新宋体” FontPackageRoman=“新宋体” FontPackageScript=“新宋体” FontPackageSwiss=“新宋体” 3.当出现汉字乱码时,上述两个文件夹中的内容就会不完整,有的没有Associated CharSet文件夹或其中的内容残缺不全;有的 Associated DefaulFonts下的内容残缺。如果遇到这种情况怎么办呢?其实你只要打开注册表编辑器,在 “HKEY_LOCAL_MACHINESystemCurrentControlSetControlFonassoc”下,根据以上的正确内容恢复即可。
到此,以上就是小编对于“php文件上传文件名乱码”的问题就介绍到这了,希望介绍关于“php文件上传文件名乱码”的【2】点解答对大家有用。