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;
 	}
 }