Heim Backend-Entwicklung PHP-Tutorial 新手关于mb_strlen的有关问题

新手关于mb_strlen的有关问题

Jun 13, 2016 am 10:45 AM
character encoding mb quot strlen

新手关于mb_strlen的问题。
不太明白这三次调用的返回值。。

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?phpecho mb_strlen("我的名字") . "<br/>"; //12echo mb_strlen("我的名字","UTF-8") . "<br>"; //4echo mb_strlen("我的名字","GBK") //6?>
Nach dem Login kopieren


代码保存在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里面要用到别的DLL里面的函数 ,是不是等将这个DLL复制到 system32下面,然后再在php.ini里面加上
extension=php_fdf.dll 这样的代码才可以?

------解决方案--------------------
PHP code
echo mb_strlen("我的名字") . "<br>"; //12echo mb_strlen("我的名字","UTF-8") . "<br>"; //4echo 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>
Nach dem Login kopieren
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie viele MB sind 1 g Speicher? Wie viele MB sind 1 g Speicher? Mar 16, 2023 pm 04:19 PM

1g Speicher ist 1024 MB. g steht für „GB“, was auf Chinesisch „Gigabyte“ bedeutet, und MB bezieht sich auf „Megabyte“. GB und MB werden üblicherweise zur Angabe der Speicherkapazität von Computerfestplatten, Speichern und anderen Speichermedien mit größerer Kapazität verwendet Die Umrechnungsrate zwischen GB und MB beträgt ungefähr 1000 (1024), also „1 GB = 1024 MB“.

1 MB Speicherkapazität entspricht der Anzahl der Bytes 1 MB Speicherkapazität entspricht der Anzahl der Bytes Mar 03, 2023 pm 05:42 PM

1 MB Speicherkapazität entspricht 2 hoch 20 Bytes oder 1.048.576 Bytes. MB ist eine Speichereinheit in Computern, die als „Mega“ ausgesprochen wird, da 1 MB 1024 KB entspricht und 1 KB 1024 B (Bytes) entspricht, sodass 1 MB 1048576 (1024 * 1024) Bytes entspricht.

1 g entspricht der Speicherkapazität in MB 1 g entspricht der Speicherkapazität in MB Feb 03, 2023 pm 03:55 PM

1 g entspricht 1024 MB Speicherkapazität. Der vollständige Name von g ist „GB“, was auf Chinesisch „Gigabyte“ bedeutet. Es ist eine dezimale Maßeinheit für Informationen und wird häufig zur Angabe der Speicherkapazität von Computerfestplatten, Speichern und anderen Speichermedien mit größerer Kapazität verwendet. Die Umrechnungsrate zwischen GB und MB beträgt ungefähr 1000 (1024), also „1 GB = 1024 MB“.

Verwenden Sie die Java-Funktion Character.isDefined(), um festzustellen, ob ein Zeichen ein definiertes Zeichen ist Verwenden Sie die Java-Funktion Character.isDefined(), um festzustellen, ob ein Zeichen ein definiertes Zeichen ist Jul 25, 2023 am 10:33 AM

Verwenden Sie die Funktion Character.isDefined() von Java, um festzustellen, ob ein Zeichen ein definiertes Zeichen ist. Bei der Java-Programmierung müssen Sie manchmal feststellen, ob ein Zeichen ein definiertes Zeichen ist. Der Einfachheit halber stellt Java die Funktion isDefined() der Character-Klasse bereit, mit deren Hilfe wir schnell feststellen können, ob ein Zeichen ein definiertes Zeichen ist. In diesem Artikel wird die Verwendung dieser Funktion erläutert und einige Codebeispiele bereitgestellt. Die Zeichenklasse repräsentiert ein einzelnes Zeichen in Java

Java verwendet die Funktion isLetterOrDigit() der Character-Klasse, um zu bestimmen, ob ein Zeichen ein Buchstabe oder eine Zahl ist Java verwendet die Funktion isLetterOrDigit() der Character-Klasse, um zu bestimmen, ob ein Zeichen ein Buchstabe oder eine Zahl ist Jul 24, 2023 pm 02:45 PM

Java verwendet die Funktion isLetterOrDigit() der Character-Klasse, um zu bestimmen, ob ein Zeichen ein Buchstabe oder eine Zahl ist. Bei der Java-Programmierung müssen wir häufig einige Operationen und Beurteilungen an Zeichen durchführen. Eine der häufigsten Anforderungen besteht darin, festzustellen, ob ein Zeichen ein Buchstabe oder eine Zahl ist. Java stellt die Funktion isLetterOrDigit() der Character-Klasse bereit, um uns bei der Implementierung dieser Funktion zu helfen. Die Character-Klasse ist eine Wrapper-Klasse, die zum Bedienen und Beurteilen von Charakteren verwendet wird.

Interpretation der Java-Dokumentation: Detaillierte Erläuterung der isAlphabetic()-Methode der Character-Klasse Interpretation der Java-Dokumentation: Detaillierte Erläuterung der isAlphabetic()-Methode der Character-Klasse Nov 04, 2023 am 10:05 AM

Interpretation der Java-Dokumentation: Detaillierte Erläuterung der Methode isAlphabetic() der Klasse Character 1. Übersicht In der Klasse Java Character wird die Methode isAlphabetic() verwendet, um zu bestimmen, ob ein bestimmtes Zeichen ein alphabetisches Zeichen ist. Es wird ein boolescher Wert zurückgegeben, wobei „true“ angibt, dass das angegebene Zeichen ein alphabetisches Zeichen ist, und „false“ angibt, dass das angegebene Zeichen kein alphabetisches Zeichen ist. Dieser Artikel bietet eine detaillierte Analyse der Verwendung und des Prinzips dieser Methode und stellt Codebeispiele bereit, um den Lesern ein besseres Verständnis zu erleichtern

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

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

Verwenden Sie die Java-Funktion Character.isLetterOrDigit(), um zu bestimmen, ob ein Zeichen ein Buchstabe oder eine Zahl ist Verwenden Sie die Java-Funktion Character.isLetterOrDigit(), um zu bestimmen, ob ein Zeichen ein Buchstabe oder eine Zahl ist Jul 25, 2023 pm 04:22 PM

Verwenden Sie die Funktion Character.isLetterOrDigit() von Java, um zu bestimmen, ob ein Zeichen ein Buchstabe oder eine Zahl ist. In Java müssen wir häufig feststellen, ob ein Zeichen ein Buchstabe oder eine Zahl ist. Um diesen Prozess zu vereinfachen, bietet Java eine integrierte Funktion Character.isLetterOrDigit(), die uns helfen kann, dieses Urteil schnell zu vervollständigen. Die Funktion Character.isLetterOrDigit() akzeptiert ein Zeichen als Parameter

See all articles