Solution to convert php to utf-8 Chinese garbled characters: 1. Add "header("Content-Type: text/html;charset=utf-8");" at the beginning of the code; 2. Convert the file Save as "UTF-8"; 3. Delete the BOM tag.
The operating environment of this tutorial: Windows10 system, PHP8.1 version, DELL G3 computer
php to utf-8 Chinese garbled code What should I do?
Convert PHP page to UTF-8 encoding problem
1. Add a line at the beginning of the code:
header("Content-Type: text/html;charset=utf-8");
2. PHP file encoding problem
Click the editor's menu: "File"->"Save As", you can see the encoding of the current file, make sure the file encoding is: UTF-8,
If it is ANSI, the encoding needs to be changed to: UTF-8.
3. PHP file header BOM problem:
PHP files must not have BOM tags
Otherwise, the session will not be used, and there will be a similar prompt:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
This is because, when executing session_start(), the entire page cannot be Output, but when the BOM tag exists in the previous PHP page,
PHP treats this BOM tag as output, so an error occurs!
So the PHP page must delete the BOM tag
How to delete this BOM tag:
1. You can open the file with Dreamweaver and resave it, that is, you can remove the BOM tag !
2. You can open the file with EditPlus, and in the menu "Preferences"->"File"->"UTF-8 Identity", set it to: "Always delete signature",
Then save the file and you can remove the BOM tag!
4. UTF-8 encoding problem when PHP saves files as attachments:
When PHP saves files as attachments, the file name must be GB2312 encoded,
Otherwise , if there is Chinese in the file name, it will be garbled:
If your PHP itself is a file in UTF-8 encoding format,
You need to convert the file name variable from UTF-8 Into GB2312:
iconv("UTF-8", "GB2312", "$filename");
5. When the article title is truncated and displayed, garbled characters or "?" question marks appear:
Generally, when the article title is very long, part of the title will be displayed, which will affect the article. The title is truncated,
Since a Chinese character in UTF-8 encoding format will occupy 3 characters of width,
When intercepting the title, sometimes only 1 character of a Chinese character will be intercepted Or 2 characters wide,
is not completely intercepted, and garbled characters or "?" question marks will appear.
Use the following function to intercept the title, and there will be no problem:
function get_brief_str($str, $max_length) { echo strlen($str) ."<br>"; if(strlen($str) > $max_length) { $check_num = 0; for($i=0; $i < $max_length; $i++) { if (ord($str[$i]) > 128) $check_num++; } if($check_num % 3 == 0) $str = substr($str, 0, $max_length)."..."; else if($check_num % 3 == 1) $str = substr($str, 0, $max_length + 2)."..."; else if($check_num % 3 == 2) $str = substr($str, 0, $max_length + 1)."..."; } return $str; }
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of How to convert php to utf-8 Chinese garbled characters. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Dreamweaver Mac version
Visual web development tools

Dreamweaver CS6
Visual web development tools

SublimeText3 Chinese version
Chinese version, very easy to use
