# This file lists charset mappings between an encoding and its default
# equivalent encoding listed in charset.properties
# format: anyname=iana name listed in charset.properties

# No translation necessary
windows-1252=ISO-8859-1
windows-932=Shift_JIS
x-euc-jp-linux=EUC-JP 
windows-949=EUC-KR
x-windows-949=EUC-KR
windows-950=BIG5
x-windows-950=BIG5
windows-936=GB18030
x-mswin-936=GB18030
GB2312=GB18030
x-EUC-CN=GB18030