Index: /applications/editors/josm/plugins/poly/src/poly/PolyExporter.java
===================================================================
--- /applications/editors/josm/plugins/poly/src/poly/PolyExporter.java	(revision 28572)
+++ /applications/editors/josm/plugins/poly/src/poly/PolyExporter.java	(revision 28573)
@@ -41,5 +41,7 @@
                 DataSet ds = ((OsmDataLayer)layer).data;
                 Map<Way, Boolean> ways = new TreeMap<Way, Boolean>(new AreaComparator());
-                String polygonName = layer.getName();
+                String polygonName = file.getName();
+                if( polygonName.indexOf('.') > 0 )
+                    polygonName = polygonName.substring(0, polygonName.indexOf('.'));
                 for( Way w : ds.getWays() ) {
                     if( w.isClosed() ) {
@@ -58,5 +60,5 @@
                         ways.put(w, outer);
                         if( w.hasKey("name") )
-                            polygonName = w.get("name");
+                            polygonName = w.get("name").replace("\n", " ");
                     }
                 }
Index: /applications/editors/josm/plugins/poly/src/poly/PolyImporter.java
===================================================================
--- /applications/editors/josm/plugins/poly/src/poly/PolyImporter.java	(revision 28572)
+++ /applications/editors/josm/plugins/poly/src/poly/PolyImporter.java	(revision 28573)
@@ -47,5 +47,5 @@
             progressMonitor.beginTask(tr("Reading polygon filter file..."), 2);
             progressMonitor.indeterminateSubTask(tr("Reading polygon filter file..."));
-            reader = new BufferedReader(new InputStreamReader(in));
+            reader = new BufferedReader(new InputStreamReader(in, "UTF8"));
             List<Area> areas = loadPolygon(reader);
             progressMonitor.worked(1);
