죄송합니다. 질문에 멍청한 소리가 들리면 죄송합니다. 내 문제는 텍스트 파일이 있고 데이터를 데이터베이스로 가져와야한다는 것입니다.PHP에서 지정된 구분 기호로 유니 코드 문자열을 분할하는 방법은 무엇입니까?
내가 정확히 print_r
라인이 맞을 때 읽기 프로세스가 정상입니다.
그런 다음 탭 (\ t) 구분 기호로 분할해야합니다. 그런 다음 모든 유니 코드 문자가 손상됩니다.
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
<title>Test page for project XY</title>
</head>
<body>
<h1>Test Page</h1>
<pre>
<?php
include 'ChromePhp.php';
ChromePhp::log('Start read file!');
ini_set("default_charset", 'utf-8');
$handle = fopen("input.txt", "r");
if ($handle) {
while (($line = fgets($handle)) !== false) {
// process the line read.
print_r($line); // if print the $line here, it's fine
$myArray = preg_split("/[\t]/", $line); //=> broken unicode, adding u not work
$myArray = explode("\t", $line);//=> same
print_r($myArray);
}
fclose($handle);
} else {
// error opening the file.
// ChromePhp::log('Cant open file!');
print_r ('Cant open file!');
}
?>
</pre>
</body>
</html>
업데이트 : 여기
내가 시도하는 방법은 내가 제안으로 이것을 시도했지만 여전히 작동하지 :(
mb_internal_encoding("UTF-8");
mb_regex_encoding("UTF-8");
$tab="\t";
$myArray=(mb_split($tab,$line));
print_r($myArray);`
당신은 아마 unicode 수정 자만 있으면됩니다 :'preg_split ("/ [\ t]/u ", $ line)' – jeroen
안녕하세요,'preg_split ("/ [\ t]/u", $ line)'을 시도했지만 여전히 characters 같은 문자가 나타납니다 : ( – Tiana987642
PHP 소스 파일도 utf-8입니까? – RiggsFolly