I noticed this while using Music::Tag::MusicBrainz 0.3 (via
Music::Audioscrobbler::MPD 0.13).
There is such code in
$self->status( "Looking up track from " . $self->options->{mb_host} );
unless ( exists $self->{mb_r} ) {
$self->{mb_r} = WebService::MusicBrainz::Release->new( HOST =>
$self->options->{mb_host} );
}
return unless ( defined $self->info->mb_albumid );
my $params = { MBID => $self->info->mb_albumid,
INC => "tracks+puids+discs+release-events",
};
my $response = $self->{mb_r}->search($params);
First it failed with «Error with Music::Tag: Can't escape \x{041D}, try
uri_escape_utf8() instead at
/usr/share/perl5/vendor_perl/WebService/MusicBrainz/Query.pm line 152»,
but after fixing this, I got «Error with Music::Tag: URL
(
http://musicbrainz.org/ws/1/release/d874ca9d-a12d-409b-a271-2964ac9c5fd6?type=xml&inc=tracks%2Bpuids%2Bdiscs%2Brelease-events)
Request Failed - Code: 400 Error: Bad Request»
This happens because '%2B' is not the same as '+' for musicbrainz.org
XML API.