文件上傳編碼
㈠ 為什麼word上傳文件名稱變成亂碼
摘要 Windows中的文件分為兩種:一是正常文件,一是鏈接文件。對於正常的文件在上傳後,文件名不會有變化。
㈡ multipart ile-MultipartFile上傳文件時,中文文件名亂碼怎麼解決
現象:採用smartupload上傳文件時獲取文件名及相關參數()時亂碼.
原因:上傳文件的頁面會以頁面指定的編碼格式對上傳的數據進行編碼,smartupload在接收數據時會以系統默認的編碼解碼上傳數據,如果頁面編碼與系統編碼不一致,則會導致亂碼
解決:
1.指定頁面編碼與系統編碼一致:<meta
http-equiv="Content-Type" content="text/html;
charset=utf-8">,對於windows操作系統應為gbk,對於linux,要指定為export|grep
LANG中一致的編碼格式.
2.修改smartupload.jar中的SmartUpload.java中: String s11 = new
String(m_binArray, m_startData, (m_endData - m_startData) + 1);
和getDataHeader方法中類似部分,加入charSet參數,手動指定編碼
這里已經有修改好的smartupload.jar包,只需在上傳時指定編碼參數即可:su.upload("UTF8");
㈢ 百度雲網盤上傳文件名字變亂碼怎麼回事
下載的時候有另存為;2.可能上傳的時候文件名的編碼是比如utf-8或者別的編碼,但不是windows的gbk編碼。可能你本地的編碼不是gbk編碼。試試把亂碼的文字復制到UE或者editplus或者文本編輯工具裡面,找到編碼,嘗試著換編碼能不能正常顯示出來。
希望堅果雲網盤的回答能夠給到您解答,堅果雲企業網盤便捷、安全可靠。
㈣ 上傳文件保留原文件名(中文亂碼)怎麼解決
1一般出現在網頁,用網頁上面的查看——編碼——簡體中文即可解決。
2 出現亂碼一般是Windows系統字型檔的問題,可能是系統錯誤或不正常關機造成的,也可能是某些軟體需要使用操作系統以外的字型檔造成的。
我知道可以用chkdsk檢查一下磁碟程序,但有可能你的電子書也都處理掉了(因為可能會當成錯誤文件)。不知道是因為什麼原因造成這種情況的,如果是磁碟方面的問題,推薦用chkdsk檢查修復一下。
另一方面,如果文件丟失推薦使用FinalRecovery。
㈤ 微信公眾平台上傳的視頻格式及其編碼是什麼
我已探索了不少時間。覺得用QQ視頻播放器轉換格式較好。AVI,mov,flv都可以轉。選自定義轉換,編碼h264 尺寸320X240(文件較小,但清晰度差)640X480(文件大,清晰度好),比特率299或512kbit/s 幀幅18/s 保持原長寬比。音頻AAC 128kbps 轉後的視頻發給朋友後,可直接打開(三星N7100 聯想A808 都試過)。朋友說,640X480的視頻清晰流暢。另若視頻超過20MB,可把它分成幾部分,本人不喜歡模糊的視頻。
㈥ CI文件上傳怎麼解決中文亂碼問題
想必很多朋友在進行utf8編碼的php開發上傳功能的時候,都會遇到這樣的一個問題,就是上傳中文文件名的文件時,文件名會變成亂碼,其實我們可以用iconv函數對文件名進行重新編碼就解決問題了
可能會有不少朋友碰到一些問題就是上傳文件時如果是英文倒好原文名不會有問題,如果是中文可能就會出現亂碼了,今天我來給大家總結一下導致亂碼php上傳文件中文文件名亂碼的原因與解決辦法吧。
這幾天在windows下安裝了XAMPP,准備初步學習一下php的相關內容。這幾天接觸到了php上傳文件,但是出現了一個郁悶問題,我准備上傳一個excel文件,但是如果文件名是中文名就會報錯。
一來二去很是郁悶,後來仔細想了想應該是文件編碼的問題,我寫的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編碼。
亂碼問題關鍵代碼:
復制代碼 代碼如下:
$name=iconv("UTF-8","gb2312", $name);
move_uploaded_file($tmpname, $this->final_file_path);
$name=iconv("gb2312","UTF-8", $name);
除了這樣來解決上傳文件中文亂碼問題,我們還可以把上傳文件重新命名即可。
例
復制代碼 代碼如下:
$sFileName = "sda.php";
$sOriginalFileName = $sFileName;
$sExtension = s str($sFileName, (strrpos($sFileName, '.') + 1));//找到擴展名
$sExtension = strtolower($sExtension);
$sFileName = date("YmdHis").rand(100, 200).".".$sExtension; //這樣就是我們的新文件名了,全數字的不會有亂碼了哦。
以下是一些補充:
php上傳中文文件名亂碼解決方案
復制代碼 代碼如下:
$filepath="upload/";
$name=$filepath.$_FILES["upfile"]["name"];
while(file_exists($name)){
$temp=explode(".",$name);//分割字元串
$name=$temp[0]."0".".".$temp[1];//主文件名後面加0
}
復制代碼 代碼如下:
//iconv()函數是關鍵
if(move_uploaded_file($_FILES["upfile"]["tmp_name"],iconv("UTF-8","gb2312",$name))){//處理...}
我的PHP編碼是UTF-8,其中原因可能是因為操作系統是GBK的原因!
注意:我的伺服器是windows xp、apache,估計xp字元集是gbk。因為我的php代碼保存為utf-8格式的,在給文件名命名時會出現亂碼的情況,所以可以用iconv()函數將原本的utf-8格式的文件名轉換為gbk格式的。
php utf8編碼 上傳中文文件名出現亂碼的解決方法
想必很多朋友在進行utf8編碼的php開發上傳功能的時候,都會遇到這樣的一個問題,就是上傳中文文件名的文件時,文件名會變成亂碼,我們可以用iconv函數對文件名進行重新編碼就解決問題了。
復制代碼 代碼如下:
<?php
header("Content-Type:text/html;charset=utf-8");
$submit = $_POST['submit'];
if(isset($submit) && trim($submit) != ''){
$file = $_FILES['file'];
if(isset($file['tmp_name'])){
$name = iconv('utf-8','gb2312',$file['name']); //利用Iconv函數對文件名進行重新編碼
if(move_uploaded_file($file['tmp_name'],$name)){
echo '文件上傳成功!';
echo '圖片信息:';
print_r($file);
}
}
}
?>
㈦ java文件上傳如何獲取上傳文件的字元集編碼
你可以在上傳的時候,轉成bytes,這樣獲得的是無編碼的,下載的時候,他就可以制定編碼進行顯示!
㈧ linux下fileupload文件上傳亂碼
你這個是以UTF-8的格式讀的,也是以UTF-8的格式寫的,但源文件應該是GKB/GB2312格式的,所以相當於你沒有轉碼的情況下,直接以UTF-8讀GBK,能不是亂碼嗎。你應該以文件願編碼格式讀取,才不會是亂碼啊
㈨ PHP上傳出現亂碼 請問以下這段上傳代碼我上傳中文時會出現亂碼,請問怎麼修改啊
修改這一行代碼:
//移動文件
// $file_path = $save_path . $file_name;
$file_path = $save_path . microtime( TRUE ) . '.' . $file_ext;
原因:
windows和該代碼的文件名編碼不一致,windows是GB編碼,你的代碼是UTF編碼,所以直接用文件原始文件名會導致亂碼。
只要是文件上傳的地方統統要修改文件名,客戶端的文件名可以寫在資料庫裡面。
㈩ 上傳文件如何解決寫人資料庫亂碼問題
方法一: 通過增加參數 –default-character-set = utf8 解決亂碼問題
mysql -u root -p password < path_to_import_file –default-character-set = utf8
方法二: 在命令行導入亂碼解決
1. use database_name;
2. set names utf8; (或其他需要的編碼)
3. source example.sql (sql文件存放路徑)
方法三: 直接粘貼sql文件里的代碼
1. 打開SQLyog客戶端軟體;
2. 定位到SQL編輯器,然後用記事本打開剛剛導出的SQL文件;
3. 復制文件中所有SQL語句到SQL編輯器當中,執行這些SQL代碼;
方法四: 用記事本或其他文本工具改變SQL文件的編碼格式(若方法三不行,那就嘗試方法四)
1. 用記事本(或UE)打開剛才的導出的SQL文件;
2. 另存此文件——打開另存為對話框,選擇對話框中的編碼格式為UNICODE編碼;
3. 保存文件,然後CTRL+A,全選;
4. 復制裡面的SQL語句到SQLyog中的「SQL編碼器」當中,再執行一次SQL語句;
5. 執行完成後切記刷新一次,查看中文的數據表,亂碼消除,大功告成;