The main issue with Input and wstrings is that it's not yet properly implemented (neither the first argument, the prompt text, nor the second argument, the target variable, support wstrings). There's a TODO entry about it and maybe it can be looked at for a future FB version.
Note that if you save the .bas file with Unicode BOM, string literals are treated as wstrings instead of zstrings. This means you may have unexpected wstring -> zstring conversions in some places, and the FB rtlib does not implement these properly (it does not do a Unicode -> codepage conversion, but essentially just a simple char = wchar assignment that copys wchars <= 255 1:1 and replaces anything > 255 with question marks. You can see that here:
Code: Select all
'' Save as UTF8 with BOM
#if typeof( wstring ) <> typeof( "Новая программа" )
#error "Missing BOM"
#define TEXT "Новая программа"
dim as wstring * 50 w = TEXT
'' Print wstring
'' Print zstring
print str( w ) '' (run-time conversion)
print str( TEXT ) '' (compile-time conversion)
This is also something where I'm not sure how much work a fix would require.