Azure Files 내 한글 파일 변환

수정일 수, 12월 17, 2025 시간: 10:57 AM

1. 이슈 개요

Windows 서비스로 등록된 사용자 애플리케이션에서 Azure Files에 위치한 파일의 파일명을 한글로 변경하는 과정에서 파일 생성이 실패하는 현상이 발생합니다. 해당 이슈는 Azure Files 자체의 파일명 인코딩 문제가 아니라, 애플리케이션 레벨에서 문자열 인코딩 처리 중 예외가 발생하여 파일 생성 단계까지 정상적으로 진행되지 않는 것으로 확인됩니다.


2. 발생 대상

  • 스토리지 유형: Azure Files

  • 대상 파일: Azure Files 디렉터리에 위치한 숫자 이름의 PDF 파일

  • 동작 환경:

    • Windows 서비스로 등록된 사용자 애플리케이션

    • 파일명을 숫자 → 한글 파일명으로 변경 시도


3. 확인 내용

1. Azure Files 파일명 인코딩 방식

Azure Files에서 사용하는 디렉터리 및 파일명 인코딩의 기본값은 Unicode (UTF-8) 입니다.

  • Azure Files는 UTF-8 기반의 유니코드 파일명을 정상적으로 지원

  • Azure Files 자체에서 EUC-KR 인코딩을 사용하지 않음

즉, Azure Files의 파일명 인코딩 설정 문제는 아님


2. 애플리케이션 동작 분석

Windows 서비스로 동작하는 사용자 애플리케이션에서 파일명을 한글로 변경하는 과정 중 문자열 인코딩 변환 과정에서 예외가 발생하여 파일 생성 단계까지 도달하지 못한 것으로 판단됩니다.

  • EUC-KR 기반 문자열을 UTF-8로 변환하지 않거나

  • 잘못된 인코딩 상태의 문자열을 그대로 파일명으로 사용한 경우

  • .NET / Windows API에서 예외 발생 가능


 4. 조치 방법

1. 프로그램 코드 내 인코딩 명시적 처리

애플리케이션 코드에서 문자열 인코딩을 명확히 지정하여 변환 처리가 필요합니다.


C# 예시 코드

Encoding eucKr = Encoding.GetEncoding("EUC-KR"); Encoding utf8 = Encoding.UTF8; byte[] eucKrBytes = eucKr.GetBytes("한글"); byte[] utf8Bytes = Encoding.Convert(eucKr, utf8, eucKrBytes); string utf8String = utf8.GetString(utf8Bytes);
  • EUC-KR 기반 문자열을 UTF-8로 명시적으로 변환

  • 변환된 UTF-8 문자열을 Azure Files 파일명으로 사용


2. 예외 발생 코드 구간 점검

  • 파일명 변경 시점의 예외 로그 확인

  • 문자열 인코딩 변환, 파일 생성 API 호출부 점검

  • Windows 서비스 실행 계정의 권한 문제 여부도 함께 확인 권장


* 참고 사항

1. 한국어 인코딩 이슈 개요

  • EUC-KR

    • 한국어 중심 인코딩

    • 유니코드 전체 문자 집합을 지원하지 않음

  • UTF-8

    • 유니코드 기반 인코딩

    • 다국어 및 Azure Files 표준 인코딩

EUC-KR 문자열을 UTF-8로 변환하지 않고 사용할 경우 문자 깨짐 또는 예외 발생 가능성이 있습니다.


2. Azure Files 디렉터리 및 파일명 제약 사항

Azure Files에서 사용하는 파일 및 디렉터리 이름에는 다음과 같은 제약이 있습니다.

  • 디렉터리 및 파일 이름은 대소문자를 구분하지 않음

  • 디렉터리 및 파일 이름 길이는 최대 255자

  • 디렉터리 및 파일 이름은 / 로 끝날 수 없음

  • 다음 문자는 사용할 수 없음

    " \ / : | < > * ?
  • 제어 문자(0x00 ~ 0x1F) 및 잘못된 유니코드 문자는 허용되지 않음

  • 잘못된 서로게이트 쌍(Invalid surrogate pair)은 지원되지 않음

  • 예약된 파일명 사용 불가:

    LPT1 ~ LPT9 COM1 ~ COM9 PRN, AUX, NUL, CON, CLOCK$ . , ..


 * 정리

  • Azure Files는 UTF-8 기반 Unicode 파일명을 사용

  • 한글 파일명 변경 실패는 Azure Files 문제가 아니라 애플리케이션 인코딩 처리 문제

  • 애플리케이션 코드에서 문자열 인코딩을 명시적으로 UTF-8로 변환하도록 수정 필요

아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.