1 # GLib filename encoding guesser.
2 # Author: Stanislav Brabec <sbrabec@suse.cz>
3 # Additions are welcome.
4 # This script must be executed after setting LANG variable.
6 # Try filenames which are invalid in UTF-8 as locale specific.
7 # For selected locales, G_FILENAME_ENCODING takes precedence.
8 setenv G_BROKEN_FILENAMES 1
10 # In West Europe there was used both ISO-8859-15 and ISO-8859-1.
11 # There is no chance to recognize it, so we must guess.
12 #set west_europe_legacy_encoding=ISO-8859-1
13 set west_europe_legacy_encoding=ISO-8859-15
15 # In Russia, "official" encoding is ISO-8859-5, but most GNOME users
16 # preferred KOI8-R. We must guess.
17 #set russian_legacy_encoding=ISO-8859-5
18 set russian_legacy_encoding=KOI8-R
20 # In former Yugoslavia sr_YU have covered two different alphabets -
21 # one Latin and on Cyrillic. No chance to guess.
22 set sr_YU_legacy_encoding=ISO-8859-2,CP1250
23 #set sr_YU_legacy_encoding=ISO-8859-5
25 # Japanese uses two legacy encodings. Guess sometimes fails, sometimes not.
26 # Defining preferred encoding increases chance for success.
27 set japanese_legacy_encoding=EUC-JP
28 #set japanese_legacy_encoding=SHIFT_JIS
30 if (! ${?LANG} ) goto skip
34 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
37 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
40 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-15,CP1252
43 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
46 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
49 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
52 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
55 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
58 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
61 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
64 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
67 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
70 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
73 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
76 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
79 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
82 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
85 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
88 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
91 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
94 setenv G_FILENAME_ENCODING @locale,UTF-8,CP1251
97 setenv G_FILENAME_ENCODING @locale,UTF-8,CP1251
100 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
103 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250
106 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
109 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250
112 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-14,CP1252
115 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
118 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
121 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
124 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
127 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
130 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
133 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-7
136 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
139 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
142 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
145 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
148 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
151 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
154 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
157 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
160 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
163 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
166 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
169 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
172 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
175 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
178 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
181 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
184 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
187 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
190 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
193 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
196 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
199 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
202 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
205 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
208 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
211 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
214 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
217 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
220 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
223 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
226 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
229 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
232 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
235 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
238 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
241 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
244 setenv G_FILENAME_ENCODING @locale,UTF-8,CP1256
247 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
250 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
253 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
256 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
259 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
262 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
265 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
268 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
271 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-15,CP1252
274 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
277 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
280 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-8
283 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250
286 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250
289 setenv G_FILENAME_ENCODING @locale,UTF-8,ARMSCII-8
292 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
295 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
298 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
301 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
304 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-8
307 setenv G_FILENAME_ENCODING @locale,UTF-8,$japanese_legacy_encoding,EUC-JP,SHIFT_JIS,ISO-8859-1
310 setenv G_FILENAME_ENCODING @locale,UTF-8,GEORGIAN-PS
313 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
316 setenv G_FILENAME_ENCODING @locale,UTF-8,GB18030
319 setenv G_FILENAME_ENCODING @locale,UTF-8,EUC-KR,ISO-8859-1
322 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
325 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-10,CP1252
328 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-13,CP1252
331 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-13,CP1252
334 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-13,CP1252
337 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-5,CP1251
340 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
343 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-3
346 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
349 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
352 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
355 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
358 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
361 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
364 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
367 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250
370 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
373 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
376 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250
379 setenv G_FILENAME_ENCODING @locale,UTF-8,$russian_legacy_encoding,CP1251
382 setenv G_FILENAME_ENCODING @locale,UTF-8,KOI8-U
385 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250
388 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250
391 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250
394 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
397 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
400 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
403 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
406 setenv G_FILENAME_ENCODING @locale,UTF-8,$sr_YU_legacy_encoding
409 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
412 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
415 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
418 setenv G_FILENAME_ENCODING @locale,UTF-8,KOI8-T
421 setenv G_FILENAME_ENCODING @locale,UTF-8,TIS-620,ISO-8859-1
424 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
427 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-9
430 setenv G_FILENAME_ENCODING @locale,UTF-8,KOI8-U
433 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
436 setenv G_FILENAME_ENCODING @locale,UTF-8,TCVN5712-1,ISO-8859-1
439 setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
442 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
445 setenv G_FILENAME_ENCODING @locale,UTF-8,CP1255
448 setenv G_FILENAME_ENCODING @locale,UTF-8,GB2312,GB18030,GBK,ISO-8859-1
451 setenv G_FILENAME_ENCODING @locale,UTF-8,BIG5-HKSCS,ISO-8859-1
454 setenv G_FILENAME_ENCODING @locale,UTF-8,GB2312,GB18030,GBK,ISO-8859-1
457 setenv G_FILENAME_ENCODING @locale,UTF-8,BIG5,EUC-TW,ISO-8859-1
460 setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
466 unset west_europe_legacy_encoding
467 unset russian_legacy_encoding
468 unset sr_YU_legacy_encoding