Doesn't seem to be the case for me:
$str = '123' . chr(178) . '1234' . chr(178) . '1';
var_dump( explode(chr(178), $str) );
produced:
array(3) {
[0]=>
string(3) "123"
[1]=>
string(4) "1234"
[2]=>
string(1) "1"
}
The string lengths would seem to indicate that the chr(178) character isn't in the string.
Also, chr(178) is not a non-printable character - it's quite printable (it's a shaded rectangular box).