Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Drupal 5.23 is no longer supported, hence the "won't fix", but I'm posting this to help anyone else who is searching for a solution.
After upgrading PHP to 5.4 or later (possibly 5.3 or later, untested), the error "Illegal string offset" appears and references tablesort.inc.
On line 110 in my version (function tablesort_cell) the fix is to check if each array/key combo is set before using it:
From:
if (isset($header[$i]) && $header[$i]['data'] == $ts['name'] && $header[$i]['field']) {
To:
if (isset($header[$i]) && isset($header[$i]['data']) && $header[$i]['data'] == $ts['name'] && isset($header[$i]['field']) && $header[$i]['field']) {