2012-02-15 4 views
1

rubyzip 보석 및 Zip::ZipOutputStream 클래스로 압축 아카이브를 만들고 있는데 유니 코드 문자 (키릴 문자)에 문제가 있습니다 - 아카이브에서이 문자는 ????? ???? ??.doc과 같은 물음표로 표시됩니다. Rubyzip은 유니 코드를 지원합니까?rubyzip 및 파일 이름에 유니 코드 문자

+0

및 루비 1.9.2 :) – fl00r

답변

1

rubyzip 메서드를 살펴 보았지만 rubyzip이 언어를 변경할 수없는 것 같습니다. 컴퓨터의 기본 코드 페이지를 사용하는 것 같습니다. chilkat에서 처리 할 수없는 특정 요구 사항이 없으면 this 예제와 같이 chilkat zip을 대신 사용할 수 있습니다.

0

다음 스 니펫을 사용하여 UTF-8을 일부 유니 코드 문자 (일부는 포함)를 포함하는 CP437으로 변환 할 수 있습니다. Windows 7 및 이전 버전에서는 파일 이름이 CP437로 인코딩되어 있다고 가정합니다.

# first normalize the string 
normalized_filename = input.mb_chars.normalize.to_s 
# then encode in cp437 
filename_for_zip = normalized_filename.encode("cp437") 
# add file to zip 
zipfile.add(filename_for_zip, pdf_file)