

It is also possible that while writing a valid sequence there was "glitch" and the data got corrupted as it was being written. That's why I think that this was originally a problem created by FTS5 (or Emby): they were supposed to write a valid sequence of bytes in UTF-8. Being invalid UTF-8 byte sequences, Sqlite3 interprets them as BLOBs.
EXPORT A TABLE FROM DB BROWSER FOR SQLITE CODE
Yet, they are both followed by 0圎3, which is an invalid byte in UTF-8 (it would have been valid byte in Windows-1252 or iso-8859-1 code pages, representing A with tilde: ã). To me, it looks like 0x30 and 0x31 were supposed to represent "0" and "1", followed by one or more characters. In your original file, thiese are the sequence of rows around errors: segid

delete from fts_search6_idx where segid = 5 and pgno in (148, I have a suspicion this is a glitch in Emby (or FTS5).If these two records are deleted, the Browse Data shows the table fts_search6_idx without crashing DB4S.select *, hex(term) as term_hex from fts_search6_idx where segid = 5 and pgno in (148, 230).

