We know that when using Ajax technology to interact with the PHP backend, Chinese garbled characters are common. JSON, as a data exchange format similar to XML, will also cause Chinese garbled characters when PHP is used to interact. Solve PHP The idea of solving Chinese garbled characters in JSON is actually similar to the solution to garbled Chinese characters in PHP Ajax values. Below, I will introduce in detail the method of solving Chinese garbled characters in PHP JSON in the form of a tutorial.
Why do Chinese garbled characters appear when PHP interacts with JSON?
Since JSON is the same as JS, the characters on the client are processed in the form of UTF8, that is, the characters returned by JSON submission or acceptance are processed in the form of UTF8. When interacting with PHP, if the database encoding, PHP page encoding When UTF8 format is not used, Chinese characters will be garbled when PHP interacts with JSON.
Methods to solve Chinese garbled characters in PHP JSON
After knowing the reasons why Chinese garbled characters are generated when PHP interacts with JSON, the solution is actually much simpler.
Method 1 to solve the Chinese garbled code in PHP JSON: Ensure that the database and front-end and back-end PHP page codes are consistent
The simplest way to solve the Chinese garbled code in PHP JSON is to ensure that the database code and PHP page code are consistent. UTF8 format. For beginners of PHP, it is best to use UTF8 format for the database when building a website, which can reduce a lot of trouble.
Solution to PHP JSON Chinese garbled method 2: Configure and use the PHP function urlencode and JS function decodeURI()
When PHP uses JSON to interact with the front-end JS, you need to use the urlencode function before using the json_encode function Encode the URL, decode the URL through the JS function decodeURI() on the JS client, and then read the Chinese information.
Note: When interacting through JSON in a PHP page, such as converting an array into JSON format, first use the urlencode function to URL-encode the array key and value and then use the json_encode function and urldecode function.
Three methods to solve PHP JSON Chinese garbled code: Use string encoding conversion function
When the database encoding and PHP page encoding are inconsistent due to various reasons, for example, the existing database encoding uses GB2312, At this time, when using JSON interaction, you need to use the string encoding conversion function to convert between character sets. Commonly used functions include iconv. Since iconv requires PHP configuration environment support, if it is not supported, you can implement encoding conversion by writing your own gbk and UTF8 encoding conversion functions.
So far, the three solutions to garbled Chinese characters in PHP JSON have been introduced. In fact, in PHP development, when encountering the interaction between PHP and AJAX/JS, these methods are basically used when Chinese garbled characters are generated. The idea is similar.
For more detailed explanations of solutions to PHP JSON Chinese garbled characters, please pay attention to the PHP Chinese website!