php 上傳檔名出現亂碼

2021-09-29 06:50:00 字數 1131 閱讀 2837

想必很多朋友在進行utf8編碼的php開發上傳功能的時候,都會遇到這樣的乙個問題,

就是上傳中文檔名的檔案時,檔名會變成亂碼,

其實我們可以用iconv函式對檔名進行重新編碼就解決問題了

可能會有不少朋友碰到一些問題就是上傳檔案時如果是英文倒好原文名不會有問題,如果是中文可能就會出現亂碼了,今天我來給大家總結一下導致亂碼php上傳檔案中文檔名亂碼的原因與解決辦法吧。

一來二去很是鬱悶,後來仔細想了想應該是檔案編碼的問題,我寫的php檔案使用的是utf-8編碼,如果沒有猜錯apache處理用的應該是gbk(當然現在我無法確定,希望高手給與指教)。想明白了這個問題,就去查詢相關的教程了,索性找到了iconv這個函式。

函式原型:string iconv ( string in_charset, string out_charset, string str )

使用例子:$content = iconv("gbk", "utf-8", $content);

這個例子的作用就是將$content從gbk轉換成utf-8編碼。

亂碼問題關鍵**:

1 $name=iconv("utf-8","gb2312", $name);

2 move_uploaded_file($tmpname, $this->final_file_path);

3 $name=iconv("gb2312","utf-8", $name);

除了這樣來解決上傳檔案中文亂碼問題,我們還可以把上傳檔案重新命名即可。

1 $sfilename = "sda.php";

2 $soriginalfilename = $sfilename;

3 $***tension = s str($sfilename, (strrpos($sfilename, '.') + 1));//找到副檔名

4 $***tension = strtolower($***tension);

5 $sfilename = date("ymdhis").rand(100, 200).".".$***tension; //這樣就是我們的新檔名了,全數字的不會有亂碼了哦。

springcloud上傳檔名亂碼

問題 springcloud 用zuul做閘道器,檔案上傳,檔名亂碼,就算設定過編碼也不起作用。解決 給上傳路徑中加上 zuul。例子 原來的上傳路徑 http localhost service upload.do zuul通過service分發 修改後的上傳路徑 http localhost z...

PHP問題 上傳檔名中文亂碼

iconv 按要求的字元編碼轉換字串 stringiconv string in charset,string out charset,string str in charset 輸入的字符集。out charset 輸出的字符集。str 要轉換的字串。啥時候有閒心加個預覽吧 65行 move up...

PHP解決FCK上傳檔名亂碼 重名

預設情況下fck上傳檔名沒改,還是上傳原檔案的檔名,問題就出在這,中文出現亂碼,有時出現檔案重名。方法適用於 fck 2.5 6 版本 更改fileupload函式 fckeditor editor filemanager connectors php commands.php 在檔案中找到以下 p...