Home > Article > Backend Development > How Can I Convert Files to UTF-8 During Website Migration?
Encoding Files in UTF-8 Format
This question addresses the challenge of converting files with non-UTF-8 encoding to UTF-8 format during website migration. The provided script retrieves file data but falls short in saving them in the desired UTF-8 encoding.
To resolve this issue, add the BOM (Byte Order Mark) for UTF-8. This unique character tells the system that the file is encoded in UTF-8. Insert the following line before saving the file:
file_put_contents($myFile, "\xEF\xBB\xBF". $content);
Here's the code with the addition:
header('Content-type: text/html; charset=utf-8'); mb_internal_encoding('UTF-8'); $fpath = "folder"; $d = dir($fpath); while (False !== ($a = $d->read())) { if ($a != '.' and $a != '..') { $npath = $fpath . '/' . $a; $data = file_get_contents($npath); file_put_contents('tempfolder/' . $a, "\xEF\xBB\xBF".$data); // Append BOM for UTF-8 } }
This modification ensures that the $data is encoded in UTF-8, and the files will be saved in the correct format.
The above is the detailed content of How Can I Convert Files to UTF-8 During Website Migration?. For more information, please follow other related articles on the PHP Chinese website!