ASCII and Unicode definitions do not match in the $80-$9F (128-159) range.
The Unicode characters in this range are:
https://en.wikipedia.org/wiki/Latin-1_S ... ode_block)
The "ASCII" characters in this range are, assuming you're on Windows:
https://en.wikipedia.org/wiki/Windows-1252
Strings in PB 5.60 are always Unicode.
#PB_Ascii just tells it to convert to ASCII, as best as possible.
But the Unicode characters $80-$9F don't exist in ASCII, so they become $3F (question mark).
Example: Why doesn't Unicode $80 (Padding Character) just convert to ASCII $80?
Because ASCII $80 is the Euro sign... which actually pairs with Unicode $20AC.
So unmappable Unicode characters (including most > 255) become '?' instead of becoming other different characters.
I believe PB is using the OS's built-in conversion, so if you disagree with the behavior you probably have to write your own procedure.
Hope that makes sense.