Maison >développement back-end >Problème PHP >Comment résoudre le problème tronqué du substr php

Comment résoudre le problème tronqué du substr php

藏色散人
藏色散人original
2020-11-01 15:02:022503parcourir

Les caractères tronqués dans la fonction php substr sont dus au codage chinois UTF-8. Chaque caractère chinois occupe 3 octets, tandis que GB2312 occupe 2 octets et l'anglais occupe 1 octet. Le nombre de chiffres interceptés est inexact. ce qui entraîne des caractères tronqués. La solution est d'utiliser la fonction mb_substr.

Comment résoudre le problème tronqué du substr php

Recommandé : "Tutoriel vidéo PHP"

php résout le problème de l'interception des chaînes tronquées

Problème

Dans le développement quotidien, la fonction d'interception de chaîne est souvent utilisée. La fonction couramment utilisée est substr(). Voici un exemple :

<?php
$rest = substr ("abcdef", 1); // returns "bcdef"
$rest = substr ("abcdef", 1, 3); // returns "bcd"
?>

Utiliser. Lorsque la fonction substr rencontre des caractères chinois, il est facile de provoquer des caractères tronqués. En effet, dans le codage chinois UTF-8, chaque caractère chinois occupe 3 octets, tandis que le GB2312 occupe 2 octets et l'anglais occupe 1 octet. Le nombre de chiffres interceptés est inexact. substr() "scie" brusquement un caractère chinois en deux moitiés. , provoquant le regroupement des caractères déconnectés pour former un seul mot, de sorte que des caractères chinois tronqués PHP apparaissent.

Solution

Vous pouvez utiliser la fonction mb_substr(). Voici un exemple :

echo mb_substr("php中文字符encode",0,4,"utf-8");

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!

Déclaration:
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