Unexpected UTF-8 BOM from mkvextract when extracting subtitles #6166

Closed
opened 2025-10-07 18:35:33 +02:00 by Kcchouette · 1 comment

Hello

I would like to report an encoding issue I encountered while using mkvextract.

When I run the following command with mkvextract:

$ mkvextract 'file.mkv' tracks -c UTF-8 '4:file.ass'
$ hexdump -n 3 -C 'file.ass'
00000000  ef bb bf                                          |...|
00000003

Run the equivalent command using ffmpeg:

$ ffmpeg -i 'file.mkv' -map 0:4 -c copy 'file.ass'
$ hexdump -n 3 -C 'file.ass' 
00000000  5b 53 63                                          |[Sc|
00000003

Expected Behavior: It would be great if mkvextract could produce standard UTF-8 encoded files without a BOM, like ffmpeg does.

Thanks so much for your help with this!

Edit: mkvmerge version: 94.0

Hello I would like to report an encoding issue I encountered while using mkvextract. When I run the following command with mkvextract: ```bash $ mkvextract 'file.mkv' tracks -c UTF-8 '4:file.ass' $ hexdump -n 3 -C 'file.ass' 00000000 ef bb bf |...| 00000003 ``` Run the equivalent command using ffmpeg: ```bash $ ffmpeg -i 'file.mkv' -map 0:4 -c copy 'file.ass' $ hexdump -n 3 -C 'file.ass' 00000000 5b 53 63 |[Sc| 00000003 ``` **Expected Behavior:** It would be great if mkvextract could produce standard UTF-8 encoded files without a BOM, like ffmpeg does. Thanks so much for your help with this! Edit: mkvmerge version: 94.0
Owner

I've implemented a new CLI option for that, --no-bom, that can be used with all programs.

The reason why I didn't change the defaults is that the last time I did this I received a lot of negative feedback, that BOM-less files were now breaking people's workflows left & right. The major driver is Windows, of course, where a lot of programs still assume that a BOM-less file is encoded in Windows' system locale (which is e.g. CP1252 in most western Windows installations).

I've implemented a new CLI option for that, `--no-bom`, that can be used with all programs. The reason why I didn't change the defaults is that the last time I did this I received a _lot_ of negative feedback, that BOM-less files were now breaking people's workflows left & right. The major driver is Windows, of course, where a lot of programs still assume that a BOM-less file is encoded in Windows' system locale (which is e.g. [CP1252](https://en.wikipedia.org/wiki/Windows-1252) in most western Windows installations).
Sign in to join this conversation.
No labels
app:build system & source
app:documentation
app:installer & packaging
app:mkvextract
app:mkvinfo
app:mkvmerge
app:mkvpropedit
app:MKVToolNix GUI:chapter editor
app:MKVToolNix GUI:general/other
app:MKVToolNix GUI:header editor
app:MKVToolNix GUI:info tool
app:MKVToolNix GUI:job output
app:MKVToolNix GUI:job queue
app:MKVToolNix GUI:multiplexer
app:translations
app:website
fixed-in-version
63.0.0
fixed-in-version
64.0.0
fixed-in-version
65.0.0
fixed-in-version
66.0.0
fixed-in-version
67.0.0
fixed-in-version
68.0.0
fixed-in-version
69.0.0
fixed-in-version
70.0.0
fixed-in-version
71.0.0
fixed-in-version
71.1.0
fixed-in-version
72.0.0
fixed-in-version
73.0
fixed-in-version
74.0
fixed-in-version
75.0.0
fixed-in-version
76.0
fixed-in-version
77.0
fixed-in-version
78.0
fixed-in-version
79.0
fixed-in-version
80.0
fixed-in-version
81.0
fixed-in-version
82.0
fixed-in-version
83.0
fixed-in-version
84.0
fixed-in-version
85.0
fixed-in-version
86.0
fixed-in-version
87.0
fixed-in-version
88.0
fixed-in-version
89.0
fixed-in-version
90.0
fixed-in-version
91.0
fixed-in-version
92.0
fixed-in-version
93.0
fixed-in-version
94.0
fixed-in-version
95.0
fixed-in-version
96.0
fixed-in-version
97.0
fixed-in-version
98.0
fixed-in-version
99.0
found-in-version
0.6.0
found-in-version
0.6.1
found-in-version
0.6.3
found-in-version
0.6.4
found-in-version
0.6.5
found-in-version
0.6.6
found-in-version
0.6.6.1
found-in-version
0.7.0
found-in-version
0.7.1
found-in-version
0.7.2
found-in-version
0.7.5
found-in-version
0.7.7
found-in-version
0.7.8
found-in-version
0.7.9
found-in-version
0.8.0
found-in-version
0.8.1
found-in-version
0.8.2
found-in-version
0.8.3
found-in-version
0.8.4
found-in-version
0.8.5
found-in-version
0.8.6
found-in-version
0.8.7
found-in-version
0.8.8
found-in-version
0.8.9
found-in-version
0.9.0
found-in-version
0.9.1
found-in-version
0.9.2
found-in-version
0.9.3
found-in-version
0.9.4
found-in-version
0.9.5
found-in-version
0.9.6
found-in-version
0.9.7
found-in-version
1.0
found-in-version
1.0.1
found-in-version
1.0.2
found-in-version
1.4.0
found-in-version
1.4.1
found-in-version
1.4.2
found-in-version
1.5.0
found-in-version
1.5.5
found-in-version
1.5.6
found-in-version
1.6.0
found-in-version
1.6.5
found-in-version
1.7.0
found-in-version
1.8.0
found-in-version
1.8.1
found-in-version
10.0.0
found-in-version
11.0.0
found-in-version
12.0.0
found-in-version
13.0.0
found-in-version
14.0.0
found-in-version
15.0.0
found-in-version
16.0.0
found-in-version
17.0.0
found-in-version
18.0.0
found-in-version
19.0.0
found-in-version
2.0.0
found-in-version
2.0.2
found-in-version
2.1.0
found-in-version
2.2.0
found-in-version
2.3.0
found-in-version
2.4.0
found-in-version
2.4.1
found-in-version
2.4.2
found-in-version
2.5.0
found-in-version
2.5.1
found-in-version
2.5.2
found-in-version
2.5.3
found-in-version
2.6.0
found-in-version
2.7.0
found-in-version
2.8.0
found-in-version
2.9.0
found-in-version
2.9.5
found-in-version
2.9.7
found-in-version
2.9.8
found-in-version
2.9.9
found-in-version
20.0.0
found-in-version
21.0.0
found-in-version
22.0.0
found-in-version
23.0.0
found-in-version
24.0.0
found-in-version
25.0.0
found-in-version
26.0.0
found-in-version
27.0.0
found-in-version
28.0.0
found-in-version
28.1.0
found-in-version
28.2.0
found-in-version
29.0.0
found-in-version
3.0.0
found-in-version
3.1.0
found-in-version
3.2.0
found-in-version
3.3.0
found-in-version
3.4.0
found-in-version
30.0.0
found-in-version
30.1.0
found-in-version
31.0.0
found-in-version
32.0.0
found-in-version
33.0.0
found-in-version
33.1.0
found-in-version
34.0.0
found-in-version
35.0.0
found-in-version
36.0.0
found-in-version
37.0.0
found-in-version
38.0.0
found-in-version
39.0.0
found-in-version
4.0.0
found-in-version
4.1.0
found-in-version
4.1.1
found-in-version
4.2.0
found-in-version
4.3.0
found-in-version
4.4.0
found-in-version
4.5.0
found-in-version
4.6.0
found-in-version
4.7.0
found-in-version
4.8.0
found-in-version
4.9.0
found-in-version
4.9.1
found-in-version
40.0.0
found-in-version
41.0.0
found-in-version
42.0.0
found-in-version
43.0.0
found-in-version
44.0.0
found-in-version
45.0.0
found-in-version
46.0.0
found-in-version
47.0.0
found-in-version
48.0.0
found-in-version
49.0.0
found-in-version
5.0.0
found-in-version
5.0.1
found-in-version
5.1.0
found-in-version
5.2.0
found-in-version
5.2.1
found-in-version
5.3.0
found-in-version
5.4.0
found-in-version
5.5.0
found-in-version
5.6.0
found-in-version
5.7.0
found-in-version
5.8.0
found-in-version
5.9.0
found-in-version
50.0.0
found-in-version
51.0.0
found-in-version
52.0.0
found-in-version
53.0.0
found-in-version
54.0.0
found-in-version
55.0.0
found-in-version
56.0.0
found-in-version
56.1.0
found-in-version
57.0.0
found-in-version
58.0.0
found-in-version
59.0.0
found-in-version
6.0.0
found-in-version
6.1.0
found-in-version
6.2.0
found-in-version
6.3.0
found-in-version
6.4.0
found-in-version
6.4.1
found-in-version
6.5.0
found-in-version
6.6.0
found-in-version
6.7.0
found-in-version
6.8.0
found-in-version
6.9.0
found-in-version
6.9.1
found-in-version
60.0.0
found-in-version
61.0.0
found-in-version
62.0.0
found-in-version
63.0.0
found-in-version
64.0.0
found-in-version
65.0.0
found-in-version
66.0.0
found-in-version
67.0.0
found-in-version
68.0.0
found-in-version
69.0.0
found-in-version
7.0.0
found-in-version
7.1.0
found-in-version
7.2.0
found-in-version
7.3.0
found-in-version
7.4.0
found-in-version
7.5.0
found-in-version
7.6.0
found-in-version
7.7.0
found-in-version
7.8.0
found-in-version
7.9.0
found-in-version
70.0.0
found-in-version
71.0.0
found-in-version
71.1.0
found-in-version
72.0
found-in-version
73.0
found-in-version
74.0.0
found-in-version
75.0
found-in-version
76.0
found-in-version
77.0
found-in-version
78.0
found-in-version
79.0
found-in-version
8.0.0
found-in-version
8.1.0
found-in-version
8.2.0
found-in-version
8.3.0
found-in-version
8.4.0
found-in-version
8.5.0
found-in-version
8.5.1
found-in-version
8.5.2
found-in-version
8.6.0
found-in-version
8.6.1
found-in-version
8.7.0
found-in-version
8.8.0
found-in-version
8.9.0
found-in-version
80.0
found-in-version
81.0
found-in-version
82.0
found-in-version
83.0
found-in-version
84.0
found-in-version
85.0
found-in-version
86.0
found-in-version
87.0
found-in-version
88.0
found-in-version
89.0
found-in-version
9.0.0
found-in-version
9.0.1
found-in-version
9.1.0
found-in-version
9.2.0
found-in-version
9.3.0
found-in-version
9.3.1
found-in-version
9.4.0
found-in-version
9.4.1
found-in-version
9.4.2
found-in-version
9.5.0
found-in-version
9.6.0
found-in-version
9.7.0
found-in-version
9.7.1
found-in-version
9.8.0
found-in-version
9.9.0
found-in-version
90.0
found-in-version
91.0
found-in-version
92.0
found-in-version
93.0
found-in-version
94.0
found-in-version
95.0
found-in-version
96.0
found-in-version
97.0
found-in-version
98.0
os:all
os:Linux
os:macOS
os:other
os:Windows
other:need-feedback
other:need-sample
res:answered
res:duplicate
res:fixed/implemented
res:not-a-bug
res:unresolved
res:wontfix
res:worksforme
type:bug
type:bug-in-external-component
type:enhancement
type:question
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
mbunkus/mkvtoolnix#6166
No description provided.