Home > Article > Backend Development > What to do if php echo get parameters are garbled
php echo get parameter garbled solution: 1. Use "iconv("gb2312","utf-8",$str);" to convert the encoding; 2. Convert the encoding through the mb_convert_encoding function.
The operating environment of this article: windows7 system, PHP7.4 version, DELL G3 computer
What should I do if the php echo get parameters are garbled?
The reasons and solutions for PHP receiving garbled Chinese parameters in GET
A few days ago, I used sphinx to write a search function and tested the search effect with a browser, but I couldn't find it. Chinese content. I used echo to output the keywords obtained by $_GET and saw that the page encoding was garbled in UTF-8, but it was normal when it was switched to gb2312. However, sphinx only supports UTF-8 Chinese character search, so I had to solve the problem of receiving Chinese parameters.
I googled online and found an article called "In-depth Study on PHP Receiving GET Chinese Parameter Garbled Code". The article mentioned that this is due to the browser setting problem. If you enter Chinese directly in the address bar Parameters, in Chinese interface browsers, generally receive parameters in gbk encoding. In situations like these, we need to use PHP's built-in transcoding function to deal with encoding problems:
Option 1:
$str = iconv("gb2312","utf-8",$str);
Option 2:
mb_convert_encoding($str, "utf-8", "gb2312");
If it is in utf For Chinese parameters obtained from the text input box under the page encoding of -8, the page will default to the current encoding, so in this case there is no need to use the above transcoding method.
If you want to generate a link with Chinese parameter values in the page, you need to encode the Chinese characters with urlencode() under the utf-8 encoding code and then generate the link.
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of What to do if php echo get parameters are garbled. For more information, please follow other related articles on the PHP Chinese website!