Home > Backend Development > PHP Tutorial > The Chinese file name of the file uploaded by php is garbled_PHP tutorial

The Chinese file name of the file uploaded by php is garbled_PHP tutorial

WBOY
Release: 2016-07-13 10:43:01
Original
870 people have browsed it

Many friends may encounter some problems. When uploading files, if it is in English, the original text name will not be a problem. If it is in Chinese, garbled characters may appear. Today I will summarize for you the garbled PHP file uploads. Let’s look at the reasons and solutions for garbled Chinese file names.

I have installed XAMPP under windows in the past few days, and I am going to initially learn PHP-related content. I have been exposed to php uploading files in the past few days, but a frustrating problem has arisen. I am going to upload an excel file, but if the file name is a Chinese name, an error will be reported.

I was very depressed after going back and forth. Then I thought about it carefully and it should be a file encoding problem. The php file I wrote uses UTF-8 encoding. If I guessed correctly, APACHE should use GBK for processing (of course I can’t be sure now) , I hope experts can give me some advice). After thinking about this problem, I went to search for relevant tutorials and simply found the iconv function.

Function prototype: string iconv (string in_charset, string out_charset, string str)

Usage example: $content = iconv(”GBK”, “UTF-8″, $content);

The purpose of this example is to convert $content from GBK to UTF-8 encoding.

Key code for garbled code problem:

Example
The code is as follows
 代码如下 复制代码

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

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

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

Copy code

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

move_uploaded_file($tmpname, $this->final_file_path);
$name=iconv("gb2312","UTF-8", $name);


In addition to solving the problem of garbled Chinese characters in uploaded files, we can also rename the uploaded files.

$sFileName = "sda.php"; $sOriginalFileName = $sFileName;

$sExtension = s str($sFileName, (strrpos($sFileName, '.') + 1));//Find extension

$sExtension = strtolower($sExtension);$sFileName = date("YmdHis").rand(100, 200).".".$sExtension; //This is our new file name, it will be all numbers and there will be no garbled characters . http://www.bkjia.com/PHPjc/633205.html
www.bkjia.comtrue
http: //www.bkjia.com/PHPjc/633205.htmlTechArticleMany friends may encounter some problems. When uploading files, it is better if the original text name is in English and there will be no problem. , if it is Chinese, it may be garbled. Today I will summarize it for you...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template