新手关于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 Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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"이며 정보 측정의 십진 단위이며 컴퓨터 하드 드라이브, 메모리 및 더 큰 용량의 기타 저장 매체의 저장 용량을 나타내는 데 자주 사용됩니다. GB와 MB 사이의 변환율은 대략 1000(1024), 즉 "1GB = 1024MB"와 같습니다.

Java의 Character.isDefined() 함수를 사용하여 문자가 정의된 문자인지 확인합니다. Java 프로그래밍에서는 문자가 정의된 문자인지 확인해야 하는 경우가 있습니다. 편의를 위해 Java는 Character 클래스의 isDefined() 함수를 제공합니다. 이를 통해 문자가 정의된 문자인지 여부를 빠르게 확인할 수 있습니다. 이 문서에서는 이 기능을 사용하는 방법을 소개하고 몇 가지 코드 예제를 제공합니다. 문자 클래스는 Java에서 단일 문자를 나타냅니다.

Java는 Character 클래스의 isLetterOrDigit() 함수를 사용하여 문자가 문자인지 숫자인지 확인합니다. Java 프로그래밍에서는 문자에 대한 일부 작업과 판단을 수행해야 하는 경우가 많습니다. 일반적인 요구 사항 중 하나는 문자가 문자인지 숫자인지 확인하는 것입니다. 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() 함수는 문자를 매개변수로 받아들입니다.
