2013-12-20 12 views
0

gh-pages는 텍스트 파일을 모바일 화합니다. . . CI 빌드 서버는 빌드 아티팩트 중 일부를 gh 페이지에 복사합니다.웹 서버에 * .txt 파일의 파일 인코딩 속성을 설정합니다.

로컬에서는 파일 인코딩이 UTF-8임을 알 수 있습니다. 파일을 다운로드하여 열면 텍스트 편집기에서 잘 렌더링됩니다.

그러나 Safari, Firefox 및 Chrome에서는 특수 문자 (틱, 체크 표시 등)가 몹시 덥어지고 있습니다. 올바른 파일 인코딩을 어떻게 사용할 수 있습니까?

답변

1

지시없이 브라우저가 일반 텍스트 파일에 사용할 파일 인코딩을 알 수있는 방법이 없습니다. .htaccess 설정은 웹 서버에 따라 달라질 수 있습니다. 더 이식성있는 방법은 텍스트 파일이 UTF8 바이트 순서 표시 (BOM)로 시작하는지 확인하는 것입니다. 이를 수행하는 한 가지 방법은 다음과 같습니다.

#!/bin/sh 

if [ $# -eq 0 ]; 
then 
     echo usage $0 files ... 
     exit 1 
fi 

for file in $*; 
do 
     echo "# Processing: $file" 1>&2 
     if [ ! -f "$file" ]; 
     then 
       echo Not a file: "$file" 1>&2 
       exit 1 
     fi 
     TYPE=`file - < "$file" | cut -d: -f2` 
     if echo "$TYPE" | grep -q '(with BOM)'; 
     then 
       echo "# $file already has BOM, skipping." 1>&2 
     else 
       (mv ${file} ${file}~ && uconv -f utf-8 -t utf-8 --add-signature < "${file}~" > "${file}") || (echo Error processing "$file" 1>&2 ; exit 1) 
     fi 
done