Index: tools/mkfat.py
===================================================================
--- tools/mkfat.py	(revision 7751ff16a2970cdf87199c64d39dd8c8193c1f6d)
+++ tools/mkfat.py	(revision a54bd98c747d436ac3c8c8d96b5ba234d90c7f3e)
@@ -190,22 +190,23 @@
 	
 	filtered_name = ''
-	
-	for char in name.encode('ascii', 'ignore').upper():
-		if not char in lchars:
-			continue
-		
-		filtered_name += char
-	
-	return filtered_name
+	filtered = False
+	
+	for char in name.encode('ascii', 'replace').upper():
+		if char in lchars:
+			filtered_name += char
+		else:
+			filtered_name += b'_'
+			filtered = True
+	
+	return (filtered_name, filtered)
 
 def fat_name83(name, name83_list):
 	"Create a 8.3 name for the given name"
 	
-	ascii_name = fat_lchars(name)
+	ascii_name, lfn = fat_lchars(name)
 	ascii_parts = ascii_name.split('.')
 	
 	short_name = ''
 	short_ext = ''
-	lfn = False
 	
 	if len(ascii_name) > 11:
