一套系统 支持不同语言 文件下载 我在做一套系统 ,要支持不同语言 如(中文,日文,韩文),现在遇到的问题是,用日文文件名上传的文件,在中文系统中下载下来后,文件名变成乱码,有什么办法可以解决 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 保存用临时名:如数字真实名存数据库试试utf-8编码 没有用的, include_once("../../include/config.php"); $FilePath = $_GET["FilePath"]; $FileName = $_GET["FileName"]; $fileName = $FileName; $filePath = $FilePath; $filePathInFileSystem = iconv("UTF-8",FILESYSTEMCHARSET,$filePath); if(!file_exists($filePathInFileSystem)){ Header("Content-Disposition:attachment;filename=error.txt"); print "Warning:$filePath isn't exists!"; exit; } $clientFileSystemCharSet = "UTF-8"; if(eregi("(win|microsoft)",$_SERVER["HTTP_USER_AGENT"])){ $acceptLanguage = $_SERVER["HTTP_ACCEPT_LANGUAGE"]; if(strpos($acceptLanguage,"zh-cn")===0){ $clientFileSystemCharSet = "GBK"; }elseif(strpos($acceptLanguage,"ja")===0){ $clientFileSystemCharSet = "Shift-JIS"; }elseif(strpos($acceptLanguage,"ko")===0){ $clientFileSystemCharSet = "UHC"; }else{ $clientFileSystemCharSet = "ASCII"; } } $fileNameInClientFileSystem = iconv("UTF-8",$clientFileSystemCharSet,$fileName); header("Content-type:application/octet-stream"); header("Content-Disposition:attachment;filename=".$fileNameInClientFileSystem); header("Content-length: ".filesize($filePathInFileSystem)); readfile($filePathInFileSystem);文件名用UTF-8,系统无法生成文件名,我现在是这么写的,中文下 日韩都没有问题了,但日文下 中文文件名显示就有问题了 从网页到数据库,都用UTF-8。这样的话在程序方面,就不需要考虑编码转换的问题了。 这个问题相当复杂...建议使用ftp保存文件 php读取Sqlserver的问题,求教 这样的字符该怎样解释 Cakephp 里面 怎么用checkbox 来实现 选中行删除 ,求 c 和v 里面的相关代码 谢谢 最好举例子 着急 在线等。。。 PHP中的array_intersect函数问题 登陆成功后,把登陆表单隐藏掉,换成个人信息 请高手帮忙,这个是什么意思啊 断点续传 类内部的变量传递。高分求教,PHP高手请进。 错误?为什么? 各位老大们,帮我看看这个问题啊~ 哈哈,终于能访问了 新人提问...怎么在vista系统,安装PHP
真实名存数据库试试utf-8编码
include_once("../../include/config.php"); $FilePath = $_GET["FilePath"];
$FileName = $_GET["FileName"]; $fileName = $FileName;
$filePath = $FilePath; $filePathInFileSystem = iconv("UTF-8",FILESYSTEMCHARSET,$filePath); if(!file_exists($filePathInFileSystem)){
Header("Content-Disposition:attachment;filename=error.txt");
print "Warning:$filePath isn't exists!";
exit;
} $clientFileSystemCharSet = "UTF-8";
if(eregi("(win|microsoft)",$_SERVER["HTTP_USER_AGENT"])){
$acceptLanguage = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
if(strpos($acceptLanguage,"zh-cn")===0){
$clientFileSystemCharSet = "GBK";
}elseif(strpos($acceptLanguage,"ja")===0){
$clientFileSystemCharSet = "Shift-JIS";
}elseif(strpos($acceptLanguage,"ko")===0){
$clientFileSystemCharSet = "UHC";
}else{
$clientFileSystemCharSet = "ASCII";
}
} $fileNameInClientFileSystem = iconv("UTF-8",$clientFileSystemCharSet,$fileName);
header("Content-type:application/octet-stream");
header("Content-Disposition:attachment;filename=".$fileNameInClientFileSystem); header("Content-length: ".filesize($filePathInFileSystem));
readfile($filePathInFileSystem);
文件名用UTF-8,系统无法生成文件名,我现在是这么写的,中文下 日韩都没有问题了,但日文下 中文文件名显示就有问题了
这样的话在程序方面,就不需要考虑编码转换的问题了。