Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- date
- string
- HTML
- JSON
- JavaScript
- file-upload
- 경영
- Apache
- OOP
- UTF-8
- 웹하드추천
- variables
- Forms
- Linux
- function
- Ajax
- Regex
- 무료다운로드쿠폰
- Laravel
- php
- MySQL
- jquery
- Arrays
- post
- 전략
- curl
- Session
- composer-php
- 웹하드순위
Archives
- Today
- Total
개발! 딱 깔끔하고 센스있게!
PHP:mbustrtouppper가 일을 하지 않습니다. 본문
UTF-8과 mb-strtoupper 에 문제가 있습니다.
mb_internal_encoding('UTF-8'); $guesstitlestring='Le Courrier de Sáint-Hyácinthe'; $encoding=mb_detect_encoding($guesstitlestring); if ($encoding!=='UTF-8') $guesstitlestring=mb_convert_encoding($guesstitlestring,'UTF-8',$encoding); echo "DEBUG1 $guesstitlestring\n"; $guesstitlestring=mb_strtoupper($guesstitlestring); echo "DEBUG2 $guesstitlestring\n";
결과:
DEBUG1 Le Courrier de Sáint-Hyácinthe DEBUG2 LE COURRIER DE S?INT-HY?CINTHE
왜 이러는지 모르겠어?나는 가능한 한 인코딩을 조심해야 한다.
이 문자열은 우선 UTF-8으로 주어져 검증을 거쳐 UTF-8로 다시 바꿀 수 있다.
정말 악몽이다!
업데이트
그래서 내가 콘솔을 통해 인자를 입력하고 콘솔에서 되돌아온 인자가 공동으로 발생한 것을 발견했다.
그래서 그들은 드나드는 길에 엉망진창이다.
해결 방법은 이러한 방식으로 어떤 인자를 입력하지 말고 이런 식으로 출력 인자를 입력하지 마라.
여러분 이 문제 해결해 주셔서 감사합니다!
대답
strtoupper() / mbu strtoupper()를 사용하지 말고 mbu convertu case(), 다른 인코딩 사이의 대문자가 복잡하기 때문에 UTF-8이 확실합니다.
$content = 'Le Courrier de Sáint-Hyácinthe'; mb_internal_encoding('UTF-8'); if(!mb_check_encoding($content, 'UTF-8') OR !($content === mb_convert_encoding(mb_convert_encoding($content, 'UTF-32', 'UTF-8' ), 'UTF-8', 'UTF-32'))) { $content = mb_convert_encoding($content, 'UTF-8'); } // LE COURRIER DE SÁINT-HYÁCINTHE echo mb_convert_case($content, MB_CASE_UPPER, "UTF-8");
작업 예시: http:/3v4l.org/enefm35 v443
또 PHP 사이트에서 변환기에 대한 댓글: http:/www.PHP.net/manual/function.utf8 encode.PHP
'개발 스크랩 메모 > PHP' 카테고리의 다른 글
어떻게 PHP 로 이메일 첨부품을 서버에 저장합니까? (0) | 2020.12.26 |
---|---|
Visual Studio PHP (0) | 2020.12.26 |
왜 이 간단한 php 스크립트가 메모리를 누출합니까? (0) | 2020.12.26 |
굉장히 긴 시간 Php 스크립트 Cron 작업이 필요합니다. (0) | 2020.12.26 |
php 에서 xamp을 사용하여 메일을 보내기 (0) | 2020.12.26 |
Comments