1. I initially suspected that the issue was caused by a BOM header. In EditPlus, I saved the file with the encoding set to UTF-8 + BOM, as shown in Figure 1.

2. I committed the changes to Git. The diff showed that the text was identical, but the files did not match. I found the following difference: encoding (ASCII, UTF-8 BOM), as shown in Figure 2.

3. In PhpStorm, I selected the project, right-clicked, and chose Remove BOM, as shown in Figure 3.

4. I committed the changes to Git and found that the BOM header had been removed from the file with no remaining differences. The Remove BOM operation worked as expected, confirming that there were no BOM headers in the program files, as shown in Figure 4.

5. I copied the response data from the browser into a text file, then viewed it in Windows PowerShell and confirmed that a BOM header was indeed present, as shown in Figure 5.

6. Final analysis revealed that the cause was a BOM header in one of the configuration files of the PHP HTTP client (based on CakePHP). After removing the BOM header, the browser could parse the data correctly.
