지시없이 브라우저가 일반 텍스트 파일에 사용할 파일 인코딩을 알 수있는 방법이 없습니다. .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