Home  >  Article  >  Backend Development  >  How to solve the problem of garbled parameters in php get

How to solve the problem of garbled parameters in php get

藏色散人
藏色散人Original
2020-11-20 09:37:002455browse

php get parameter garbled solution: 1. Use the "iconv("gb2312","UTF-8",$gonghui);" method to solve the garbled problem; 2. Use the "mb_convert_encoding" method to solve the garbled problem .

How to solve the problem of garbled parameters in php get

Recommended: "PHP Video Tutorial"

php uses the get method to obtain Chinese from the url Solution to garbled code

The following are two methods

The first method uses $gonghui = iconv("gb2312","UTF-8",$gonghui);

The second method

**  
* 多字节字符串编码转换函数  
 
*  
 
* @param string str 需要进行编码转换的字符串  
 
* @param string to_encoding 指定转换为某种编码,如:gb2312、gbk、utf-8等  
 
* @param mixed from_encoding 混合指定原来字串的编码,如:同时指定 JIS, eucjp-win, sjis-win 混合编码  
 
* @return string  
 
string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )  
**/

mb_convert_encoding function is PHP’s internal multi-byte string encoding conversion function, which can be used in almost all situations where it is necessary. All encodings. PHP >= 4.0.6, 5 versions supported.

Get reg.php?gh=XX directly;

 //工会登入参
$gonghui = $_GET['gh'];

The $gonghui obtained is gb2312 encoded and output to the utf-8 webpage to display garbled characters

Changed to

 //工会登入参数
 $gonghui = $_GET['gh'];
 $gonghui = mb_convert_encoding($gonghui, "UTF-8", "gb2312");

The display will be normal

Convert the entire page

This method is applicable to all coding environments. In this way, the character set other than the first 128 characters (display characters) is represented by NCR (Numeric character reference, such as "Chinese characters" will be converted into the form "汉字"). This encoding is The page can be displayed normally in any coding environment.

Add the following three lines of code to the head of the php file:

mb_internal_encoding("gb2312");  // 这里的gb2312是你网站原来的编码     
mb_http_output("HTML-ENTITIES");     
ob_start('mb_output_handler');

To use the mb_convert_encoding function, you need to enable PHP's mbstring (multi-byte string) extension.

If the mbstring extension of PHP is not enabled, you need to make the following settings to allow PHP to support the extension.

1. Windows server environment

Edit the php.ini file, remove the ; in front of extension=php_mbstring.dll, and restart the web server.

2. Linux server environment

Add the --enable-mbstring=cn compilation parameter when compiling the configuration, and then compile and install PHP.

The above is the detailed content of How to solve the problem of garbled parameters in php get. For more information, please follow other related articles on the PHP Chinese website!

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