php+fread() est tronqué parce que l'encodage de la page de sortie est incohérent avec l'encodage du fichier lu. La solution : 1. Ouvrez le fichier PHP correspondant ; 2. Lisez le fichier via la fonction fread ; Grâce à la méthode "iconv(' gbk', 'utf-8', $data)" pour transcoder le contenu lu.
L'environnement d'exploitation de ce tutoriel : système Windows 10, PHP version 8.1, ordinateur DELL G3
Que dois-je faire si php+fread() est tronqué ?
En PHP, les fichiers sont lus directement via la fonction fread. Si le contenu du fichier rencontre des caractères chinois, le problème sera tronqué. Comment résoudre ce problème ?
Il se peut que l'encodage de la page de sortie soit incohérent avec l'encodage du fichier lu.
Solution :
Essayez de transcoder le contenu après l'avoir lu
iconv('gbk', 'utf-8', $data)
Introduction associée :
iconv
(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8 )
iconv — Convertissez la chaîne en fonction de l'encodage de caractères requis
Description
iconv(string $in_charset, string $out_charset, string $str): string
Convertissez la chaîne str de in_charset en out_charset.
Paramètres
in_charset
Jeu de caractères d'entrée.
out_charset
Jeu de caractères pour la sortie.
Si vous ajoutez la chaîne //TRANSLIT après out_charset, la fonction de translittération sera activée. Cela signifie que lorsqu'un caractère ne peut pas être représenté par le jeu de caractères cible, il peut être approché par un ou plusieurs caractères similaires. Si vous ajoutez la chaîne //IGNORE, les caractères qui ne peuvent pas être exprimés dans le jeu de caractères cible seront ignorés silencieusement. Sinon, un E_NOTICE est provoqué et false est renvoyé.
warning
//TRANSLIT 运行细节高度依赖于系统的 iconv() 实现(参见 ICONV_IMPL)。 据悉,某些系统上的实现会直接忽略 //TRANSLIT,所以转换也有可能失败,out_charset 会是不合格的。
str
La chaîne à convertir.
Valeur de retour
Renvoie la chaîne convertie ou renvoie false en cas d'échec. La fonction
fread()
fread() lit un fichier ouvert.
La fonction cessera de s'exécuter lorsqu'elle atteindra la longueur spécifiée ou atteindra la fin du fichier (EOF) (selon la première éventualité).
Cette fonction renvoie la chaîne lue, ou FALSE en cas d'échec.
Syntaxe
string fread ( resource $handle , int $length )
Paramètres
handle Le pointeur du système de fichiers est une ressource généralement créée par fopen().
longueur requise. Spécifie le nombre maximum d'octets à lire.
Apprentissage recommandé : "Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!