Приветствую.
Не понятно работает способ UTF8ToString.
Я запутался. Интернет не помог.
Повторюсь:
От одного url(РадиоСибирь) , вместо русских букв пишет ромбики в которых вопросительные знаки(латиница - нормально
) , от остальных URL, где присутствует кириллица все нормально.
В оригинальном коде из примера: (злощастного url(РадиоСибирь) все нормально, но другие станции(RUS) - кракозябры)
Код:
var
meta: PAnsiChar;
begin
meta := BASS_ChannelGetTags(chan, BASS_TAG_META);
if (meta <> nil) then
begin
p := Pos('StreamTitle=', String(AnsiString(meta)));
if (p = 0) then
Exit;
p := p + 13;
SendMessage(win, WM_INFO_UPDATE, 7, DWORD(PAnsiChar(AnsiString(Copy(meta, p, Pos(';', String(meta)) - p - 1)))));
end;
С костылем, из всех имеющихся станций с кириллицей , нормальные, читаемые слова.
А "РадиоСибирь" ересь.
Код:
var
meta: PAnsiChar;
p: Integer;
S : string;
begin
meta := BASS_ChannelGetTags(Channel, BASS_TAG_META);
if (meta <> nil) then
begin
S := UTF8ToString(meta);
p := Pos('StreamTitle=', s);
if (p = 0) then
Exit;
p := p + 13;
UpdateWin(3, PChar(Copy(S, p, Pos(';', S) - p - 1)));
end;
Куда рыть?
PS: проверил эту станцию в WMP, вместо исполнителя и названия песни только название станции.
Что за кодировка???