解決方法:1、使用「名稱(fileName.getBytes("UTF-8"),"GBK")」語句轉換編碼類型;2、設定「web.config」文件,將文件中的編碼類型改為“utf-8”即可。
本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦
目前比較流行的是使用SWFUpload控件,在使用這個控制項批次上傳檔案時發現中文檔案名稱都是亂碼,上網查了半天,找了幾個辦法,特總結如下:
第一種:fileName= new String(fileName.getBytes( "UTF-8"),"GBK");
用這種方式能解決大部分亂碼,但如果檔案名稱中有特殊字元和標點符號有時會轉不過來。
第二種:設定web.config設定檔
swfupload是依照utf-8來編碼的,而中文網站一般使用的編碼是gb2312,你需要在使用sufupload的程式文件目錄下重新定義xml.comfig文件,
如下:
<configuration> <appSettings/> <connectionStrings/> <system.web> <globalization requestEncoding="utf-8"/> </system.web> </configuration>
現在的flash 最新版本,11.8.800.168 和11.9 等有bug,如果升級後,在使用swfuploader、uploadify 等文件上傳控制項時,如果檔案名稱是中文,就會出現中文亂碼。大家可以知道到 swfupload 和 uploadify官方網站的 demo 裡測試。
如果已經不小心升級了,可以透過以下辦法解決:
到這來下載反安裝文件,並卸載掉目前版本的 flash (透過別的辦法卸載會無法安裝舊版本的flash 控制項):http://download.macromedia.com/get/flashplayer/current/support/uninstall_flash_player.exe
到這來下載相對舊一點的版本,並安裝(也可以去別的地方下載):http://file.myfiles.com.cn/Photo/FlashPlayer_v118800129X.zip
推薦:《2021年PHP面試題大匯總(收藏) 》《php影片教學》
以上是php中swfupload亂碼怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!