Index: src/org/openstreetmap/josm/actions/search/SearchCompiler.java
===================================================================
--- src/org/openstreetmap/josm/actions/search/SearchCompiler.java	(revision 483)
+++ src/org/openstreetmap/josm/actions/search/SearchCompiler.java	(working copy)
@@ -82,6 +82,8 @@
 				return notValue;
 			String v1 = caseSensitive ? value : value.toLowerCase();
 			String v2 = caseSensitive ? this.value : this.value.toLowerCase();
+			v1 = java.text.Normalizer.normalize(v1, java.text.Normalizer.Form.NFC);
+			v2 = java.text.Normalizer.normalize(v2, java.text.Normalizer.Form.NFC);
 			return (v1.indexOf(v2) != -1) != notValue;
 		}
 		@Override public String toString() {return key+"="+(notValue?"!":"")+value;}
@@ -94,14 +96,16 @@
 			if (osm.keys == null)
 				return s.equals("");
 			String search = caseSensitive ? s : s.toLowerCase();
+			search = java.text.Normalizer.normalize(search, java.text.Normalizer.Form.NFC);
 			for (Entry<String, String> e : osm.keys.entrySet()) {
 				String key = caseSensitive ? e.getKey() : e.getKey().toLowerCase();
 				String value = caseSensitive ? e.getValue() : e.getValue().toLowerCase();
+				value = java.text.Normalizer.normalize(value, java.text.Normalizer.Form.NFC);
 				if (key.indexOf(search) != -1 || value.indexOf(search) != -1)
 					return true;
 			}
 			if (osm.user != null) {
-				String name = osm.user.name;
+				String name = java.text.Normalizer.normalize(osm.user.name, java.text.Normalizer.Form.NFC);
 				if (!caseSensitive)
 					name = name.toLowerCase();
 				if (name.indexOf(search) != -1)
Index: src/org/openstreetmap/josm/gui/dialogs/PropertiesDialog.java
===================================================================
--- src/org/openstreetmap/josm/gui/dialogs/PropertiesDialog.java	(revision 483)
+++ src/org/openstreetmap/josm/gui/dialogs/PropertiesDialog.java	(working copy)
@@ -168,6 +168,7 @@
 		}
 
 		String value = valueField.getEditor().getItem().toString();
+		value = java.text.Normalizer.normalize(value, java.text.Normalizer.Form.NFC);
 		if (value.equals(tr("<different>")))
 			return;
 		if (value.equals(""))
