PHP에서, strtoupper () 와 같은 기존 문자열 함수는 멀티 바이트 문자 세트 (예 : UTF-8, GBK, BIG5 등)를 다룰 때 이러한 문자를 올바르게 처리하지 못할 수 있습니다. 현재 MBSTRING (Multi-Byte String Extension)에서 제공하는 함수 인 MB_STRTOUPPER () 함수를 사용하여 문자열을 대문자로 변환 할 수 있습니다. 오늘날 우리는 MB_StrToupper () 의 기본 사용에 대한 심층적 인 이해를 얻고이 기능을 빠르게 마스터하는 방법을 설명 할 것입니다.
mb_stroupper () 함수의 함수는 주어진 문자열의 알파벳 문자를 대문자로 변환하는 것입니다. strtoupper () 와 달리 MB_Strtoupper ()는 다중 바이트 문자 세트를 올바르게 처리 할 수있어 UTF-8 인코딩 하에서 중국어 및 일본어와 같은 문자를 올바르게 처리 할 수 있습니다.
<span><span><span class="hljs-title function_ invoke__">mb_strtoupper</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$encoding</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>
</span></span>
$ str : 대문자로 변환 해야하는 입력 문자열.
$ 인코딩 : 선택적 매개 변수, 문자 인코딩을 지정하고, 기본값은 null , 즉 내부 문자 인코딩 (일반적으로 UTF-8)을 사용합니다.
MB_STRTOUPPER () 는 다중 바이트 인코딩 문자열 처리에만 적합하며 일반적으로 UTF-8, Shift-JIS, EUC-JP 등과 같은 인코딩에 사용됩니다.
MBString Extension을 설치하지 않으면 PHP는이 기능을 사용할 수 없으므로 사용할 때 MBString Extension이 설치되어 활성화되어 있는지 확인하십시오.
가장 일반적인 사용법은 문자열을 대문자로 직접 변환하는 것입니다. 예를 들어, 중국어 또는 영어 줄을 대문자로 변환하십시오.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"hello world"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">mb_strtoupper</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>); </span><span><span class="hljs-comment">// 산출 "HELLO WORLD"</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"안녕하세요,세계"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">mb_strtoupper</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>); </span><span><span class="hljs-comment">// 산출 "안녕하세요,세계"</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
위의 예에서 MB_STRTOUPPER ()는 영어 문자열을 올바르게 처리하여 대문자로 변환 할 수 있습니다. 중국 문자열의 경우, 한자 자체는 사례 차이가 없기 때문에 변하지 않을 것입니다.
MB_STRTOUPPER ()는 인코딩 매개 변수를 통해 문자 인코딩을 지정할 수 있습니다. 기본적으로 PHP의 내부 문자 인코딩 (일반적으로 UTF-8)을 사용하지만 때로는 명시 적으로 지정할 수있는 다른 인코딩 된 문자열을 처리해야합니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"안녕하세요,세계"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">mb_strtoupper</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-string">"GBK"</span></span><span>); </span><span><span class="hljs-comment">// 존재하다 GBK 编码下산출大写</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
인코딩은 여기에 GBK 로 지정되며 함수는 지정된 인코딩에 따라 문자열을 대문자로 변환합니다. 인코딩이 올바르지 않으면 출력 오류 또는 차량 코드가 발생할 수 있습니다.
MB_STRTOUPPER () 함수는 일반 문자를 처리 할뿐만 아니라 특수 문자가 포함 된 문자열을 올바르게 처리 할 수 있습니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"Hello, 세계! 안녕하세요!"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">mb_strtoupper</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>); </span><span><span class="hljs-comment">// 산출 "HELLO, 세계! 안녕하세요!"</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
이 예에서는 영어 부분이 자본으로 변환되는 동안 중국어 부분이 변경되지 않았으며 특수 문자 (쉼표 및 느낌표)는 동일하게 유지됩니다.
단일 바이트 문자 세트 (예 : ISO-8859-1 또는 ASCII 인코딩)의 경우 strtoupper () 로 충분합니다. 그러나 문자열에 멀티 바이트 문자 (예 : 중국어 또는 일본어)가 포함 된 경우 strtoupper ()가 제대로 작동하지 않으며 심지어 코드가 나올 수도 있습니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"안녕하세요,세계"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strtoupper</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>); </span><span><span class="hljs-comment">// 산출错误或乱码</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
strtoupper () 가 멀티 바이트 문자를 지원하지 않기 때문에 위의 코드는 차단 된 코드를 유발할 수 있으며 mb_stroupper ()는 올바르게 처리 할 수 있습니다.
MB_STRTOUPPER ()는 다중 바이트 문자 세트를 다룰 때 매우 유용한 도구입니다. 특히 중국어, 일본어 및 기타 캐릭터 세트에 적합합니다. PHP에서 IT를 사용하면 멀티 바이트 문자가 멍청하거나 잘못된 동작없이 대문자로 올바르게 변환됩니다. MB_STRTOUPPER () 의 기본 사용을 마스터하면 인코딩 효율을 향상시킬뿐만 아니라 애플리케이션이 다양한 문자 인코딩을 올바르게 처리하고 사용자 경험을 향상시킬 수 있습니다.