Rumah pembangunan bahagian belakang tutorial php 新手关于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?>
Salin selepas log masuk


代码保存在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>
Salin selepas log masuk
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Berapa MB ialah 1g ingatan? Berapa MB ialah 1g ingatan? Mar 16, 2023 pm 04:19 PM

Memori 1g ialah 1024MB. g bermaksud "GB", yang bermaksud "gigabait" dalam bahasa Cina, dan MB merujuk kepada "megabait" GB dan MB kedua-duanya biasanya digunakan untuk menunjukkan kapasiti penyimpanan cakera keras komputer, memori dan media storan lain dengan kapasiti yang lebih besar kadar penukaran antara GB dan MB adalah lebih kurang sama dengan 1000 (1024), iaitu, "1GB=1024MB".

Kapasiti storan 1MB adalah bersamaan dengan bilangan bait Kapasiti storan 1MB adalah bersamaan dengan bilangan bait Mar 03, 2023 pm 05:42 PM

Kapasiti storan 1MB adalah bersamaan dengan 2 hingga bait kuasa ke-20, atau 1,048,576 bait. MB ialah unit storan dalam komputer, disebut sebagai "mega"; kerana 1MB bersamaan dengan 1024KB dan 1KB bersamaan dengan 1024B (bait), jadi 1MB bersamaan dengan 1048576 (1024 *1024) bait.

1g bersamaan dengan berapa banyak MB kapasiti memori 1g bersamaan dengan berapa banyak MB kapasiti memori Feb 03, 2023 pm 03:55 PM

1g bersamaan dengan kapasiti memori 1024MB. Nama penuh g ialah "GB", yang bermaksud "gigabait" dalam bahasa Cina Ia adalah unit perpuluhan ukuran maklumat dan sering digunakan untuk menunjukkan kapasiti storan pemacu keras komputer, memori dan media storan lain dengan kapasiti yang lebih besar. Kadar penukaran antara GB dan MB adalah lebih kurang sama dengan 1000 (1024), iaitu, "1GB = 1024MB".

Java menggunakan fungsi isLetterOrDigit() bagi kelas Aksara untuk menentukan sama ada aksara ialah huruf atau nombor Java menggunakan fungsi isLetterOrDigit() bagi kelas Aksara untuk menentukan sama ada aksara ialah huruf atau nombor Jul 24, 2023 pm 02:45 PM

Java menggunakan fungsi isLetterOrDigit() bagi kelas Character untuk menentukan sama ada sesuatu aksara ialah huruf atau nombor Dalam pengaturcaraan Java, kita selalunya perlu melakukan beberapa operasi dan pertimbangan pada aksara. Salah satu keperluan biasa adalah untuk menentukan sama ada aksara adalah huruf atau nombor. Java menyediakan fungsi isLetterOrDigit() bagi kelas Character untuk membantu kami melaksanakan fungsi ini. Kelas Aksara ialah kelas pembalut yang digunakan untuk mengendalikan dan menilai aksara.

Gunakan fungsi Character.isDefined() java untuk menentukan sama ada aksara ialah aksara yang ditentukan Gunakan fungsi Character.isDefined() java untuk menentukan sama ada aksara ialah aksara yang ditentukan Jul 25, 2023 am 10:33 AM

Gunakan fungsi Java's Character.isDefined() untuk menentukan sama ada aksara ialah aksara yang ditakrifkan Dalam pengaturcaraan Java, kadangkala anda perlu menentukan sama ada aksara ialah aksara yang ditentukan. Untuk kemudahan, Java menyediakan fungsi isDefined() bagi kelas Character, yang boleh membantu kami dengan cepat menentukan sama ada sesuatu aksara itu adalah aksara yang ditentukan. Artikel ini akan memperkenalkan cara menggunakan fungsi ini dan menyediakan beberapa contoh kod. Kelas aksara mewakili satu aksara dalam Java

Tafsiran dokumentasi Java: Penjelasan terperinci tentang kaedah isAlphabetic() kelas Aksara Tafsiran dokumentasi Java: Penjelasan terperinci tentang kaedah isAlphabetic() kelas Aksara Nov 04, 2023 am 10:05 AM

Tafsiran dokumentasi Java: Penjelasan terperinci tentang kaedah isAlphabetic() kelas Aksara 1. Gambaran Keseluruhan Dalam kelas Aksara Java, kaedah isAlphabetic() digunakan untuk menentukan sama ada aksara yang diberikan ialah aksara abjad. Ia mengembalikan nilai boolean, benar menunjukkan bahawa aksara yang diberikan ialah aksara abjad, palsu yang menunjukkan bahawa aksara yang diberikan bukan aksara abjad. Artikel ini akan menyediakan analisis terperinci tentang penggunaan dan prinsip kaedah ini, serta menyediakan contoh kod untuk membantu pembaca memahami dengan lebih baik.

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

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

Gunakan fungsi Character.isLetterOrDigit() java untuk menentukan sama ada aksara ialah huruf atau nombor Gunakan fungsi Character.isLetterOrDigit() java untuk menentukan sama ada aksara ialah huruf atau nombor Jul 25, 2023 pm 04:22 PM

Gunakan fungsi Java's Character.isLetterOrDigit() untuk menentukan sama ada aksara ialah huruf atau nombor Di Java, kita selalunya perlu menentukan sama ada aksara itu huruf atau nombor. Untuk memudahkan proses ini, Java menyediakan fungsi terbina dalam Character.isLetterOrDigit(), yang boleh membantu kami menyelesaikan penghakiman ini dengan cepat. Fungsi Character.isLetterOrDigit() menerima aksara sebagai parameter

See all articles