|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
Приветствую.
Не понятно работает способ 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, вместо исполнителя и названия песни только название станции. Что за кодировка??? Последний раз редактировалось Stalker2-42, 23.04.2017 в 18:15. |