새 PHP 파일의 잘못된 이름에 대한 해결 방법: 1. "iconv" 또는 "mb_convert_encoding" 함수를 사용하여 문자 인코딩을 변환합니다. 2. "function ConvertEncoding($string){...}" 메서드를 사용하여 다음과 같이 변환합니다. 시스템 설정으로 코드를 작성하세요.
이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, Dell G3 컴퓨터.
php 새 파일 이름이 깨졌을 경우 어떻게 해야 하나요?
Windows에서 PHP가 mkdir(), file_put_contents(), fopen() 함수를 호출하여 한자로 디렉터리나 문서 이름을 생성하면 문자가 깨져서 나타납니다.
이유
정보를 확인해보니 시스템 문자셋과 관련이 있습니다.
windows(중국어 간체), 기본 문자 집합: gbk
windows(중국어 번체), 기본 문자 집합: big5
linux, 기본 문자 집합: utf-8
해결 방법
문자 인코딩을 변환하려면 iconv 또는 mb_convert_encoding 함수를 사용하세요.
//将字符串 str 从 in_charset 转换编码到 out_charset。 string iconv ( string $in_charset , string $out_charset , string $str ) //将 string 类型 str 的字符编码从可选的 from_encoding 转换到 to_encoding。 string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] )
시스템 설정에 따라 인코딩을 변환합니다. 방법은 다음과 같습니다.
<?php /** * 转换字符编码 * @param $string * @return string */ function convertEncoding($string){ //根据系统进行配置 $encode = stristr(PHP_OS, 'WIN') ? 'GBK' : 'UTF-8'; $string = iconv('UTF-8', $encode, $string); //$string = mb_convert_encoding($string, $encode, 'UTF-8'); return $string; }
잘못된 코드 예제
<?php #示例1 $dir = __DIR__ . '/中英文目录Test1'; mkdir($dir); //目录名:涓嫳鏂囩洰褰昑est1 #示例2 $fileName = __DIR__ . '/中英文档名Test2.txt'; file_put_contents($fileName, '文件内容Test2'); //文件名:涓嫳鏂囨。鍚峊est2.txt //文件内容:文件内容Test2 #示例3 $fileName = __DIR__ . '/中英文档名Test3.txt'; $fp = fopen($fileName, 'w'); fwrite($fp, '文件内容Test3'); fclose($fp); //文件名:涓嫳鏂囨。鍚峊est3.txt //文件内容:文件内容Test3 ?>
해결 방법 예제
<?php #示例1 $dir = __DIR__ . '/中英文目录Test1'; $dir = convertEncoding($dir); mkdir($dir); //目录名:中英文目录Test1 #示例2 $fileName = __DIR__ . '/中英文档名Test2.txt'; $fileName = convertEncoding($fileName); file_put_contents($fileName, '文件内容Test2'); //文件名:中英文档名Test2.txt //文件内容:文件内容Test2 #示例3 $fileName = __DIR__ . '/中英文档名Test3.txt'; $fileName = convertEncoding($fileName); $fp = fopen($fileName, 'w'); fwrite($fp, '文件内容Test3'); fclose($fp); //文件名:中英文档名Test3.txt //文件内容:文件内容Test3 /** * 转换字符编码 * @param $string * @return string */ function convertEncoding($string){ //根据系统进行配置 $encode = stristr(PHP_OS, 'WIN') ? 'GBK' : 'UTF-8'; $string = iconv('UTF-8', $encode, $string); //$string = mb_convert_encoding($string, $encode, 'UTF-8'); return $string; }
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 새 PHP 파일의 이름이 깨졌을 경우 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!