User avatar
SmallBrother
Site Admin
Posts: 3824
Joined: Sun Mar 04, 2012 12:59 pm
Location: Somewhere on this globe

Hoe zet ik op een Mac een ondertiteling om van CP1252 naar UTF-8?

Tue Mar 01, 2022 5:24 pm

Ik heb een ondertiteling gevonden die is gecodeerd als CP1252 (ISO-8859-1). Ik wil deze graag omzetten naar UTF-8, maar op een Mac lijkt dat onmogelijk. Hoe doe ik dit?

Dank aan boeiahwa voor de oplossing, zie de oorspronkelijke post en hieronder de vertaling daarvan:

Boeiahwa heeft onderstaand script geschreven op WSLv2, maar het werkt ook op Mac en Linux. Vereiste packages zijn: sed of gsed, iconv, uchardet. Deze kunnen geïnstalleerd worden met brew.

enco.sh:
#!/bin/bash

if command -v gsed &> /dev/null; then
regexec="gsed"

elif command -v sed &> /dev/null; then
regexec="sed"
else
echo "Executables not working."
exit 0
fi

for fn in "${@}"; do

fn="$(realpath $fn)"

fenc="$(uchardet "$fn")"
tenc=UTF-8

if [ "$fenc" = "ISO-8859" ]; then
fenc="ISO-8859-15"
elif [ "$fenc" = "UTF-8" ]; then
echo "File already is in UTF-8 encoding."
continue
elif [ "$fenc" = "" ]; then
echo "Something wong (FENC: $fenc)."
break
elif [ "$fenc" = "Non-ISO" ]; then
echo "Something wong (FENC: $fenc)."
break
elif [ "$fenc" = "MAC-CENTRALEUROPE" ]; then
fenc="MACCENTRALEUROPE"
fi

if [ ! -f "$fn" ]; then

echo "No valid file specified."
break

fi

iconv -f "$fenc" -t "$tenc" "$fn" > "${fn%/*}/temp.file" 2>&1
wait

if [ -f "${fn%/*}/temp.file" ]; then
mv "${fn%/*}/temp.file" "$fn"
fi

done
 
Zo maak je het script executable:

(sudo) chmod +x enco.sh

Gebruik:

enco.sh /path/to/file.srt
enco.sh file.srt
Nowadays a VPN is a must for everyone. A VPN allows you safe surfing and protects you against spying governments and companies.
I recommend AirVPN - from € 2,75 per month. Click the below banner for more info.


Image

Return to “FAQ”

Who is online

Users browsing this forum: No registered users and 7 guests