Your message dated Fri, 19 Jun 2026 23:19:00 +0200 with message-id <[email protected]> and subject line Re: Bug#232307: id3v2: [PATCH] Support UTF8 and UTF16 encodings has caused the Debian Bug report #232307, regarding id3v2: Doesn't allow setting unicode flags for text fields to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) -- 232307: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=232307 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Package: id3v2 Version: 0.1.9-1 Severity: minor As my whole system is now UTF-8 aware, I have also re-tagged all my mp3s and oggs. As oggs are currently using UTF-8 by default, I have a problem with mp3 - apparently, no mp3-tagger for linux has implemented setting the encoding flags of the text field - they are all marked as latin1. Of course, I didn't notice this until I have read the specification :( So this is a wish for upstream to implement this feature, possibly both setting and getting the encoding of a particular frame (without the recoding of the frame) to be able to write scripts for automagical tagging. -- System Information: Found unknown policy: ('500', 'sherpya')Debian Release: Nikolai Prokoschenko Special APT prefers experimental APT policy: (990, 'experimental'), (500, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.2-1-k7 Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 Versions of packages id3v2 depends on: ii libc6 2.3.2.ds1-11 GNU C Library: Shared libraries an ii libgcc1 1:3.3.3-0pre3 GCC support library ii libid3-3.8.3 3.8.3-3 Library for manipulating ID3v1 and ii libstdc++5 1:3.3.3-0pre3 The GNU Standard C++ Library v3 ii zlib1g 1:1.2.1-4 compression library - runtime -- no debconf information
--- End Message ---
--- Begin Message ---Writing real Unicode tags now works: non-Latin-1 text is stored as UTF-16 automatically with the correct encoding marker, and reading returns it in the locale encoding. An explicit encoding selector such as the proposed -u (UTF-8, text-encoding type 3) is intentionally not added: UTF-8 and UTF-16BE are ID3v2.4 encodings, while id3v2/id3lib writes ID3v2.3.0. For explicit-encoding or ID3v2.4 needs, use mid3v2(1). I'm closing this bug report. Martin On Fri, Jul 08, 2005 at 17:22:06 +0200, Tobias Diedrich wrote: > Package: id3v2 > Version: 0.1.11-1.1 > Followup-For: Bug #232307 > > > The attached patch adds two new options to id3v2, '-u' will set > the string encoding to UTF16BE (id3v2 text encoding type 2), '-U' > will set the string encoding to UTF8 (id3v2 text encoding type 3). > > Note that with only this patch by itself the two new options > won't work as id3lib is quite broken in this regard. > > But at least it shouldn't break the existing behaviour and in > combination with an id3lib patch I'm currently preparing for > submission will allow real unicode tags to be written. > > A basically working preview version of the id3lib patch is at > http://ranmachan.dyndns.org/~ranma/id3lib.unicode.20050708.patch > > With it id3lib treats the strings as being in locale encoding by > default and will convert them to either iso-8859-1, utf-16 or utf-8 > depending on which encoding is selected as desired by id3v2. > > The reading function is also patched and will return the output in > locale encoding after the above patch. > > -- System Information: > Debian Release: testing/unstable > APT prefers unstable > APT policy: (990, 'unstable'), (500, 'hoary') > Architecture: i386 (i686) > Shell: /bin/sh linked to /bin/bash > Kernel: Linux 2.6.11.12-ac7-vs1.9.5-htbatm-imq > Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) > > Versions of packages id3v2 depends on: > ii libc6 2.3.2.ds1-22 GNU C Library: Shared libraries > an > ii libgcc1 1:4.0.0-9 GCC support library > ii libid3-3.8.3 3.8.3-4.2 Library for manipulating ID3v1 > and > ii libstdc++5 1:3.3.6-6 The GNU Standard C++ Library v3 > ii zlib1g 1:1.2.2-4 compression library - runtime > > id3v2 recommends no packages. > > -- no debconf information > diff -Naru id3v2-0.1.11/id3v2.1 id3v2-0.1.11.patched/id3v2.1 > --- id3v2-0.1.11/id3v2.1 2002-02-14 20:35:31.000000000 +0100 > +++ id3v2-0.1.11.patched/id3v2.1 2005-07-08 17:02:13.000000000 +0200 > @@ -44,6 +44,12 @@ > .B \-C, \-\-convert > Converts id3v1 tag to id3v2 > .TP > +.B \-u, \-\-utf16 > +Use UTF16 encoding instead of iso-8859-1 > +.TP > +.B \-U, \-\-utf8 > +Use UTF8 encoding instead of iso-8859-1 > +.TP > .B \-a, \-\-artist ARTIST > Set the artist information > .TP > diff -Naru id3v2-0.1.11/id3v2.cpp id3v2-0.1.11.patched/id3v2.cpp > --- id3v2-0.1.11/id3v2.cpp 2005-07-07 22:22:10.000000000 +0200 > +++ id3v2-0.1.11.patched/id3v2.cpp 2005-07-08 17:05:05.000000000 +0200 > @@ -40,6 +40,8 @@ > std::cout << " -s, --delete-v1 Deletes id3v1 tags" << std::endl; > std::cout << " -D, --delete-all Deletes both id3v1 and id3v2 > tags" << std::endl; > std::cout << " -C, --convert Converts id3v1 tag to id3v2" << > std::endl; > + std::cout << " -u, --utf16 Use UTF-16 encoding instead of > iso-8859-1" << std::endl; > + std::cout << " -U, --utf8 Use UTF-8 encoding instead of > iso-8859-1" << std::endl; > std::cout << " -1, --id3v1-only Writes only id3v1 tag" << > std::endl; > std::cout << " -2, --id3v2-only Writes only id3v2 tag" << > std::endl; > std::cout << " -a, --artist \"ARTIST\" Set the artist information" << > std::endl; > @@ -87,6 +89,7 @@ > int iOpt; > int argCounter = 0; > int ii; > + int id3te = ID3TE_ISO8859_1; > char tmp[TMPSIZE]; > FILE * fp; > > @@ -124,6 +127,8 @@ > { "convert", no_argument, &iLongOpt, 'C' }, > { "id3v1-only", no_argument, &iLongOpt, '1' }, > { "id3v2-only", no_argument, &iLongOpt, '2' }, > + { "utf16", no_argument, &iLongOpt, 'u' }, > + { "utf8", no_argument, &iLongOpt, 'U' }, > > // infomation to tag > { "artist", required_argument, &iLongOpt, 'a' }, > @@ -209,7 +214,7 @@ > { "WXXX", required_argument, &optFrameID, ID3FID_WWWUSER }, > { 0, 0, 0, 0 } > }; > - iOpt = getopt_long (argc, argv, "12hfLvlRdsDCa:A:t:c:g:y:T:", > + iOpt = getopt_long (argc, argv, "12hfLvlRdsuUDCa:A:t:c:g:y:T:", > long_options, &option_index); > > if (iOpt == -1 && argCounter == 0) > @@ -240,6 +245,8 @@ > case 'f': PrintFrameHelp(argv[0]);exit (0); > case 'L': PrintGenreList(); exit (0); > case 'v': PrintVersion(argv[0]); exit (0); > + case 'u': id3te = ID3TE_UTF16BE; break; > + case 'U': id3te = ID3TE_UTF8; break; > > // listing / remove / convert -- see list.cpp and convert.cpp > case 'l': ListTag(argc, argv, optind, 0); > @@ -415,6 +422,7 @@ > } > if (strlen(frameList[ii].data) > 0) { > myFrame->Field(ID3FN_TEXT) = frameList[ii].data; > + myFrame->Field(ID3FN_TEXTENC) = id3te; > myTag.AttachFrame(myFrame); > } > break; > @@ -462,11 +470,13 @@ > if (text == NULL) > { > myFrame->Field(ID3FN_TEXT) = frameList[ii].data; > + myFrame->Field(ID3FN_TEXTENC) = id3te; > } else { > *text = '\0'; > text++; > myFrame->Field(ID3FN_DESCRIPTION) = frameList[ii].data; > myFrame->Field(ID3FN_TEXT) = text; > + myFrame->Field(ID3FN_TEXTENC) = id3te; > } > if (strlen(ID3_GetString(myFrame, ID3FN_TEXT)) > 0) { > myTag.AttachFrame(myFrame); > @@ -484,6 +494,7 @@ > if (text == NULL) > { > myFrame->Field(ID3FN_TEXT) = frameList[ii].data; > + myFrame->Field(ID3FN_TEXTENC) = id3te; > } else { > *text = '\0'; > text++; > @@ -493,11 +504,13 @@ > { > myFrame->Field(ID3FN_DESCRIPTION) = frameList[ii].data; > myFrame->Field(ID3FN_TEXT) = text; > + myFrame->Field(ID3FN_TEXTENC) = id3te; > } else { > *lang = '\0'; > lang++; > myFrame->Field(ID3FN_DESCRIPTION) = frameList[ii].data; > myFrame->Field(ID3FN_TEXT) = text; > + myFrame->Field(ID3FN_TEXTENC) = id3te; > myFrame->Field(ID3FN_LANGUAGE) = lang; > } > }
--- End Message ---

