Home > Backend Development > PHP Problem > How to convert Chinese to utf-8 encoding in php

How to convert Chinese to utf-8 encoding in php

PHPz
Release: 2023-04-06 13:04:01
Original
746 people have browsed it

During the development process, we often encounter encoding conversion problems, such as converting from GBK to UTF-8. In PHP, we can use the iconv() function to complete this task.

iconv’s syntax is as follows:

string iconv ( string $in_charset , string $out_charset , string $str )
Copy after login

Among them, $in_charset represents the input character set, $out_charset represents the output character set, and $str represents the string that needs to be converted.

For example, the following code converts a GBK-encoded string into UTF-8 encoding:

$str = "中文字符串";
$str = iconv("GBK", "UTF-8", $str);
echo $str;
Copy after login

If you need to convert all strings in the entire array or object, you can use recursive traversal The method is completed, the code is as follows:

function convert_to_utf8($data) {
    if (is_array($data)) {
        foreach ($data as &$value) {
            $value = convert_to_utf8($value);
        }
        unset($value);
    } elseif (is_object($data)) {
        foreach ($data as &$value) {
            $value = convert_to_utf8($value);
        }
        unset($value);
    } elseif (is_string($data)) {
        $data = iconv('GBK', 'UTF-8', $data);
    }
    return $data;
}
Copy after login

Usage method:

$array = array('name' => '张三', 'age' => '18');
$array_utf8 = convert_to_utf8($array);
print_r($array_utf8);
Copy after login

Output result:

Array
(
    [name] => 张三
    [age] => 18
)
Copy after login

It should be noted that the iconv function has a pitfall, that is, it encounters Returns false if the character cannot be converted. Therefore, we need to add an error handling mechanism when using iconv, for example:

$str = '中文文本';
$str = @iconv("GBK", "UTF-8//IGNORE", $str);
Copy after login

In the above code, "//IGNORE" means to ignore characters that cannot be converted, so that false situations can be avoided.

In general, although the iconv function provided by PHP can easily complete encoding conversion, in practice we still need to pay attention to some details to avoid errors when encountering some special situations.

The above is the detailed content of How to convert Chinese to utf-8 encoding in php. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template