新手关于mb_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?>
代码保存在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>"; //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>

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

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

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
