新手关于mb_strlen的有关问题
新手关于mb_strlen的问题。
不太明白这三次调用的返回值。。
- PHP code
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> <?php echo mb_strlen("我的名字") . "<br/>"; //12 echo mb_strlen("我的名字","UTF-8") . "<br>"; //4 echo mb_strlen("我的名字","GBK") //6 ?>
代码保存在l.php里面,文件编码为utf8
关于mb_strlen 的第二个encoding参数。PHP手册上这么写的:
"The encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used."
我想知道那个internal character encoding是指哪个编码,在哪里配置的。
还有,对于这个函数的返回值 是这么写的
"Returns the number of characters in string str having character encoding encoding . A multi-byte character is counted as 1. "
多字节的字符按1来计算。
那为干什么第一次调用 会返回12,第二次调用居然返回6了。。 不太明白,希望帮解释 一下,谢谢了!
------解决方案--------------------
------解决方案--------------------
- PHP code
echo mb_strlen("我的名字") . "<br>"; //12 echo mb_strlen("我的名字","UTF-8") . "<br>"; //4 echo mb_strlen("我的名字","GBK") //6 <br><font color="#e78608">------解决方案--------------------</font><br> 首先你的文件编码一定是utf-8,而且你的mb_internal_encoding是类似于ISO-8859-1<br>然后要知道1个utf8汉字为3字节,gb是2字节,mb_strlen把多字节字算作1,所以会得出<br><?php <br />echo mb_strlen("我的名字") . "<br>"; //未给定编码,按默认 ISO-8859-1 计算,一个utf8汉字为3<br>echo mb_strlen("我的名字","UTF-8") . "<br>"; //给定正确编码,一个汉字为1<br>echo mb_strlen("我的名字","GBK") //给定错误编码,GBK 一个汉字算2,但你的文件是utf8,所以为4 * 3 = 12字节 / 2 = 6个gbk字<br>?> <div class="clear"> </div>

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

1 Go de mémoire équivaut à 1024 Mo. g signifie « Go », qui signifie « gigaoctet » en chinois, et MB fait référence à « mégaoctet » ; Go et Mo sont tous deux couramment utilisés pour indiquer la capacité de stockage des disques durs d'ordinateur, des mémoires et d'autres supports de stockage de plus grandes capacités. le taux de conversion entre Go et Mo est approximativement égal à 1 000 (1 024), soit « 1 Go = 1 024 Mo ».

1 Mo de capacité de stockage équivaut à 2 puissance 20 octets, soit 1 048 576 octets. Mo est une unité de stockage dans les ordinateurs, prononcée comme « méga » car 1 Mo est égal à 1 024 Ko et 1 Ko est égal à 1 024 Mo (octets), donc 1 Mo est égal à 1 048 576 (1 024 * 1 024) octets.

1 g équivaut à 1 024 Mo de capacité de mémoire. Le nom complet de g est « GB », qui signifie « gigaoctet » en chinois. Il s'agit d'une unité décimale de mesure d'informations et est souvent utilisée pour indiquer la capacité de stockage des disques durs d'ordinateur, des mémoires et d'autres supports de stockage de plus grande capacité. Le taux de conversion entre Go et Mo est approximativement égal à 1000 (1024), soit « 1 Go = 1024 Mo ».

Utilisez la fonction Character.isDefined() de Java pour déterminer si un caractère est un caractère défini. En programmation Java, vous devez parfois déterminer si un caractère est un caractère défini. Pour plus de commodité, Java fournit la fonction isDefined() de la classe Character, qui peut nous aider à déterminer rapidement si un caractère est un caractère défini. Cet article explique comment utiliser cette fonction et fournit quelques exemples de code. La classe de caractères représente un seul caractère en Java

Java utilise la fonction isLetterOrDigit() de la classe Character pour déterminer si un caractère est une lettre ou un chiffre. En programmation Java, nous devons souvent effectuer certaines opérations et jugements sur les caractères. L'un des besoins courants est de déterminer si un caractère est une lettre ou un chiffre. Java fournit la fonction isLetterOrDigit() de la classe Character pour nous aider à implémenter cette fonction. La classe Character est une classe wrapper utilisée pour exploiter et juger les caractères.

Interprétation de la documentation Java : Explication détaillée de la méthode isAlphabetic() de la classe Character 1. Présentation Dans la classe Java Character, la méthode isAlphabetic() permet de déterminer si un caractère donné est un caractère alphabétique. Il renvoie une valeur booléenne, true indiquant que le caractère donné est un caractère alphabétique, false indiquant que le caractère donné n'est pas un caractère alphabétique. Cet article fournira une analyse détaillée de l'utilisation et du principe de cette méthode, et fournira des exemples de code pour aider les lecteurs à mieux comprendre

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Utilisez la fonction Character.isLetterOrDigit() de Java pour déterminer si un caractère est une lettre ou un chiffre. En Java, nous devons souvent déterminer si un caractère est une lettre ou un chiffre. Afin de simplifier ce processus, Java fournit une fonction intégrée Character.isLetterOrDigit(), qui peut nous aider à compléter rapidement ce jugement. La fonction Character.isLetterOrDigit() accepte un caractère comme paramètre
