I have a script which combines a number of files into one, and it breaks when one of the files has UTF8 encoding. I figure that I should be using the utf8_decode()
function when reading the files, but I don't know how to tell which need decoding.
My code is basically:
$output = ''; foreach ($files as $filename) { $output .= file_get_contents($filename) . "\n"; } file_put_contents('combined.txt', $output);
Currently, at the start of a UTF8 file, it adds these characters in the output: 
Try using the mb_detect_encoding
function. This function will examine your string and attempt to "guess" what its encoding is. You can then convert it as desired. As brulak suggested, however, you're probably better off converting to UTF-8 rather than from, to preserve the data you're transmitting.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With