The BOM header is a UTF-8 to tell the editor: I'm UTF8 encoded. Its code is xEFxBBxBF, but PHP did not consider the BOM header at the beginning of its design, so it is easy to encounter problems during codec, such as problems encountered today, json_decode, when the decoded string has a BOM header, json_decode fails to be parsed and NULL is returned. (Why 
The BOM header is a UTF-8 to tell the editor: I'm UTF8 encoded. Its Encoding is \ xEF \ xBB \ xBF, but PHP did not consider the BOM header at the beginning of the design, so it is easy to encounter problems in coding and decoding, such as problems encountered today, json_decode, when the decoded string has a BOM header, json_decode fails to be parsed and NULL is returned. (Why
 
 
 
 
 
 
The BOM header is a UTF-8 to tell the editor: I'm UTF8 encoded. Its Encoding is \ xEF \ xBB \ xBF
 
However, PHP did not consider the BOM header at the beginning of the design, so it is easy to encounter problems during codec.
 
 
 
For example, if the decoded string has a BOM header, json_decode fails to be parsed and NULL is returned. (Why not automatically detect and remove the BOM header... Tips)
 
We tried two methods to remove them:
 
 
 
$ Result = trim ($ result, "\ xEF \ xBB \ xBF"); print_r (json_decode ($ result, true); exit;
 
 
 
There is also a comparison between labels:
 
$ Result = @ iconv ("UTF-8", "GBK // IGNORE", $ result); $ result = @ iconv ("GBK", "UTF-8 // IGNORE ", $ result); print_r (json_decode ($ result, true); exit;