新手关于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>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









1gメモリは1024MBです。 g は中国語で「ギガバイト」を意味する「GB」を表し、MB は「メガバイト」を指します。GB と MB は両方とも、コンピュータのハード ドライブ、メモリ、その他のより大容量の記憶媒体の記憶容量を示すのに一般的に使用されます。 GB と MB 間の変換レートは 1000 (1024)、つまり「1GB=1024MB」にほぼ等しくなります。

1MB のストレージ容量は、2 の 20 乗バイト、つまり 1,048,576 バイトに相当します。 MB はコンピュータの記憶単位であり、「メガ」と発音されます。1MB は 1024KB、1KB は 1024B (バイト) に等しいため、1MB は 1048576 (1024 *1024) バイトに相当します。

1g は 1024MB のメモリ容量に相当します。 g の正式名称は「GB」で、中国語で「ギガバイト」を意味します。情報測定の 10 進単位であり、コンピュータのハードドライブ、メモリ、その他の大容量記憶媒体の記憶容量を示すためによく使用されます。 GB と MB 間の変換レートは、1000 (1024)、つまり「1GB = 1024MB」にほぼ等しくなります。

Java の Character.isDefined() 関数を使用して、文字が定義された文字であるかどうかを判断します。Java プログラミングでは、文字が定義された文字であるかどうかを判断する必要がある場合があります。便宜上、Java では Character クラスの isDefined() 関数を提供しています。これは、文字が定義された文字であるかどうかを迅速に判断するのに役立ちます。この記事では、この関数の使用方法を説明し、いくつかのコード例を示します。文字クラスは Java の単一の文字を表します

Java では、Character クラスの isLetterOrDigit() 関数を使用して、文字が文字であるか数字であるかを判断します。Java プログラミングでは、文字に対して何らかの操作や判断を行う必要があることがよくあります。一般的なニーズの 1 つは、文字が文字であるか数字であるかを判断することです。 Java は、この関数の実装に役立つ Character クラスの isLetterOrDigit() 関数を提供します。 Characterクラスは、文字の操作や判定を行うためのラッパークラスです。

Java ドキュメントの解釈: Character クラスの isAlphabetic() メソッドの詳細な説明 1. 概要 Java Character クラスでは、指定された文字が英字であるかどうかを判断するために isAlphabetic() メソッドが使用されます。これはブール値を返します。true は指定された文字がアルファベット文字であることを示し、false は指定された文字がアルファベット文字ではないことを示します。この記事では、このメソッドの使用法と原理を詳細に分析し、読者の理解を助けるコード例を提供します。

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

Java の Character.isLetterOrDigit() 関数を使用して、文字が文字であるか数字であるかを判断します。Java では、文字が文字であるか数字であるかを判断する必要があることがよくあります。このプロセスを簡略化するために、Java には組み込み関数 Character.isLetterOrDigit() が用意されており、この判断を迅速に完了するのに役立ちます。 Character.isLetterOrDigit() 関数はパラメータとして文字を受け取ります
