diff --git a/characterencodings.d b/characterencodings.d index 7fc56d5..96f7d29 100644 --- a/characterencodings.d +++ b/characterencodings.d @@ -47,6 +47,8 @@ import std.string; import std.array; import std.conv; +// FIXME: use replacement char here instead + /// Like convertToUtf8, but if the encoding is unknown, it just strips all chars > 127 and calls it done instead of throwing string convertToUtf8Lossy(immutable(ubyte)[] data, string dataCharacterEncoding) { try { @@ -59,6 +61,8 @@ string convertToUtf8Lossy(immutable(ubyte)[] data, string dataCharacterEncoding) foreach(b; data) if(b < 128) ret ~= b; + else + ret ~= '\uFFFD'; return ret; } }