Le contenu principal de cet article concerne les problèmes d'interface PHP. Lorsque l'encodage de l'en-tête est incompatible avec l'encodage du corps du message, la requête curl rend le message reçu incomplet. Les amis intéressés peuvent en savoir plus.
Par exemple, lors d'un certain processus d'accueil, l'en-tête renvoyé par l'autre partie est encodé en gbk (Content-type : text/xml ; charset=GBK), mais le message dans le corps Il s'agit d'un encodage UTF-8, ce qui rend le message renvoyé incomplet
La raison spécifique est qu'en raison de l'encodage GBK, un caractère chinois occupe deux octets et UTF -8 encodage Un caractère chinois occupe trois octets. La longueur des caractères renvoyée par la réponse à la requête curl est calculée en fonction du codage GBK. Par conséquent, la longueur des caractères calculée du message est donc inférieure à la longueur réelle. data, la longueur des caractères calculée est calculée. Elle s'arrêtera lorsque la longueur sera atteinte et le message renvoyé sera incomplet
N'utilisez pas la méthode curl pour faire des requêtes, utilisez utilisez plutôt la méthode file_get_contents, car file_get_contents ne renverra pas d'informations de tête, il n'y aura donc pas d'incohérences de codage
Tutoriels associés : 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!