Home  >  Article  >  Backend Development  >  Solution to the problem of Chinese garbled characters in JSON parsed by PHP

Solution to the problem of Chinese garbled characters in JSON parsed by PHP

WBOY
WBOYOriginal
2016-07-25 08:59:031130browse
This article introduces the solution to Chinese garbled characters when operating JSON in PHP programming. Friends in need may wish to refer to it.

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. The method to solve the Chinese garbled characters in PHP JSON is similar to the method to solve the Chinese characters garbled in the PHP Ajax value transfer.

The following will introduce you to several specific methods.

The reasons why Chinese garbled characters appear when PHP interacts with JSON: Since JSON is the same as JS, characters on the client are processed in UTF8 format, that is, characters submitted or returned by JSON are processed in UTF8 format. When interacting with PHP, if the database encoding and PHP page encoding do not use UTF8 format, When PHP interacts with JSON, Chinese characters will be garbled.

1. Methods to solve Chinese garbled characters in PHP JSON Method 1: Ensure that the database, front-end and back-end PHP page coding is consistent Ensure that the database encoding and PHP page encoding are uniformly in 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.

Method 2: Configure and use 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 to encode the URL before using the json_encode function. On the JS client, use the JS function decodeURI() to decode the URL 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 keys and values, and then use the json_encode function and urldecode function.

Method 3: 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, then 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.

That’s it, three solutions to garbled Chinese characters in PHP JSON. I hope it will be helpful to everyone. In PHP development, when Chinese garbled characters are generated when PHP interacts with AJAX/JS, most of them use these methods to easily solve the problem.



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn