Home > Article > Backend Development > Discussion on the method of php regular detection whether it is in JSON format
Use the above code to detect whether it is in json format, and the effect is good. Attachment, the solution to the Chinese problem when php processes json When converting the object into json, one of the Chinese attributes became null.
Everything is normal when there is no Chinese, the output is as follows: {"PlatformID":"123213","UserID":"1023"} The following two exceptions will occur in Chinese. Case 1, if an attribute whose value is Chinese in the object itself is UTF-8 encoded, there will be the following output: {"PlatformID":"123213","UserID":"1023","UserName":"u00b7u00f0u00b5u00b2u00c9u00b1u00b7u00f0u00ccu00fc"} The UserName is in a non-human language. If you use firebug to see it, it is in Chinese. Case 2, non-utf-8 encoding, the output will become null: {"PlatformID":"123213","UserID":"1023","UserName":null} After checking the manual, I found that json_encode is only valid for utf-8, and other encodings will become null. How to solve the problem of encoding conversion? Consider the following example. Example:
Conclusion: 1. Ensure that the character set of the page is consistent with the database, and the output must be normal. 2. When doing json_encode, ensure that the data encoding is utf-8 and json_decode is normal. 3. If you want to json_encode non-utf-8 characters, convert them to utf-8 first. 4. When doing json_decode on non-utf-8 characters, remember to convert to the original encoding, otherwise garbled characters will be output. |