백엔드 개발 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?>
로그인 후 복사


代码保存在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>
로그인 후 복사
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

메모리 1g은 몇 MB인가요? 메모리 1g은 몇 MB인가요? Mar 16, 2023 pm 04:19 PM

1g 메모리는 1024MB입니다. g는 중국어로 "기가바이트"를 의미하는 "GB"를 나타내고, MB는 "메가바이트"를 의미합니다. GB와 MB는 모두 컴퓨터 하드 드라이브, 메모리 및 더 큰 용량의 기타 저장 매체의 저장 용량을 나타내는 데 사용됩니다. GB와 MB 사이의 변환율은 대략 1000(1024), 즉 "1GB=1024MB"와 같습니다.

1MB의 저장 용량은 몇 바이트에 해당합니까? 1MB의 저장 용량은 몇 바이트에 해당합니까? Mar 03, 2023 pm 05:42 PM

1MB의 저장 용량은 2의 20승 바이트, 즉 1,048,576바이트에 해당합니다. MB는 컴퓨터의 저장 단위로, 1MB는 ​​1024KB, 1KB는 1024B(바이트)이므로 "메가"라고 발음합니다. 따라서 1MB는 ​​1048576(1024 *1024)바이트입니다.

1g는 메모리 용량의 MB와 같습니다. 1g는 메모리 용량의 MB와 같습니다. Feb 03, 2023 pm 03:55 PM

1g는 1024MB 메모리 용량과 같습니다. g의 전체 이름은 중국어로 "기가바이트"를 의미하는 "GB"이며 정보 측정의 십진 단위이며 컴퓨터 하드 드라이브, 메모리 및 더 큰 용량의 기타 저장 매체의 저장 용량을 나타내는 데 자주 사용됩니다. GB와 MB 사이의 변환율은 대략 1000(1024), 즉 "1GB = 1024MB"와 같습니다.

Jul 25, 2023 am 10:33 AM

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

Java는 Character 클래스의 isLetterOrDigit() 함수를 사용하여 문자가 문자인지 숫자인지 확인합니다. Java는 Character 클래스의 isLetterOrDigit() 함수를 사용하여 문자가 문자인지 숫자인지 확인합니다. Jul 24, 2023 pm 02:45 PM

Java는 Character 클래스의 isLetterOrDigit() 함수를 사용하여 문자가 문자인지 숫자인지 확인합니다. Java 프로그래밍에서는 문자에 대한 일부 작업과 판단을 수행해야 하는 경우가 많습니다. 일반적인 요구 사항 중 하나는 문자가 문자인지 숫자인지 확인하는 것입니다. Java는 이 함수를 구현하는 데 도움이 되도록 Character 클래스의 isLetterOrDigit() 함수를 제공합니다. Character 클래스는 캐릭터를 조작하고 판단하는 데 사용되는 래퍼 클래스입니다.

Java 문서 해석: Character 클래스의 isAlphabetic() 메소드에 대한 자세한 설명 Java 문서 해석: Character 클래스의 isAlphabetic() 메소드에 대한 자세한 설명 Nov 04, 2023 am 10:05 AM

Java 문서 해석: Character 클래스의 isAlphabetic() 메소드에 대한 자세한 설명 1. 개요 Java Character 클래스에서는 isAlphabetic() 메소드를 사용하여 주어진 문자가 알파벳 문자인지 여부를 판별합니다. 부울 값을 반환합니다. true는 주어진 문자가 알파벳 문자임을 나타내고, false는 주어진 문자가 알파벳 문자가 아님을 나타냅니다. 이 기사에서는 이 방법의 사용 및 원리에 대한 자세한 분석을 제공하고 독자의 이해를 돕기 위한 코드 예제를 제공합니다.

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

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

java의 Character.isLetterOrDigit() 함수를 사용하여 문자가 문자인지 숫자인지 확인합니다. java의 Character.isLetterOrDigit() 함수를 사용하여 문자가 문자인지 숫자인지 확인합니다. Jul 25, 2023 pm 04:22 PM

Java의 Character.isLetterOrDigit() 함수를 사용하여 문자가 문자인지 숫자인지 확인합니다. Java에서는 문자가 문자인지 숫자인지 확인해야 하는 경우가 많습니다. 이 프로세스를 단순화하기 위해 Java는 이러한 판단을 신속하게 완료하는 데 도움이 되는 내장 함수 Character.isLetterOrDigit()를 제공합니다. Character.isLetterOrDigit() 함수는 문자를 매개변수로 받아들입니다.

See all articles