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 |
Tags
- Vanilla JS
- SSL
- .htaccess
- 보안인증서
- Ajax
- post_type
- 날짜비교
- 정부 서비스 가이드라인
- virsualhost
- 우분투
- 정규식
- 날짜변환
- 배열
- JS
- 리사이즈
- 우분투 npm 설치
- 페이지전환효과
- 구글뷰어
- 자바스크립트
- 비동기호출
- ip직접접근차단
- JavaScript
- 애니메이트
- MySQL
- 글자수제한
- 글자 수 제한
- 디지털 정부서비스ui/ux
- 301 리다이렉트
- selinux
- iframe
Archives
- Today
- Total
더 나은 프로그래머가 되자
Mac OS에서 파일 업로드시 한글파일명 모음자음 분리 현상 본문
Mac OS의 경우 한글파일명 처리를 NFD 방식으로 처리하기 때문에 해당 파일명을 윈도우나 리눅스 OS에서 보게되면
ㅎㅏㄴㄱㅡㄹ.jpg 와 같이 자음모음이 분리되는 현상을 보게된다.
fopen으로 다운로드 처리시 다운로드가 되지 않거나 파일명이 깨지는 상황이 생기게된다.
이를 해결하기 위해서 php 내장클래스인 Normalizer 클래스를 사용해서 NFD 방식을 윈도우 리눅스 방식으로 정규화하는 작업이 필요하다.
//Mac NFD 방식-> 윈도우,리눅스 방식으로 정규화
$fileName = '한글파일명.jpg';
if(class_exists('Normalizer')){
if(Normalizer::isNormalized($fileName, Normalizer::FORM_D)){
$fileName = Normalizer::normalize($fileName, Normalizer::FORM_C);
}
}
$fileName = iconv("UTF-8","cp949//IGNORE",$fileName);
echo $fileName;
위와 같이 처리하면 한글파일명이 정상적으로 출력된다.
'언어 > PHP' 카테고리의 다른 글
브라우저 언어 체크 및 리다이렉트 (0) | 2022.10.04 |
---|---|
PHPMailer에서 gmail api로 메일 발송하기(XOAUTH2 인증) (0) | 2022.06.09 |
웹쉘 탐지기 (0) | 2021.06.24 |
배열 안에 특정 데이터가 있는지 없는지 확인하기 in_array() (0) | 2021.01.13 |
쿼리스트링 배열에 담기 parse_str() (0) | 2021.01.12 |
Comments