文件上传编码
㈠ 为什么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. 执行完成后切记刷新一次,查看中文的数据表,乱码消除,大功告成;