Maison > développement back-end > Problème PHP > Que faire si php+fread() est tronqué

Que faire si php+fread() est tronqué

藏色散人
Libérer: 2023-03-17 19:40:02
original
1523 Les gens l'ont consulté

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.

Que faire si php+fread() est tronqué

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)
Copier après la connexion

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
Copier après la connexion

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 会是不合格的。
Copier après la connexion

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 )
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal