Hier eine kleine Funktion um eine URL auf gültige Zeichen zu überprüfen:
// Replaces every Character, that is not suiteable for an Url with other Characters
static public string ToValidUrl( string s ) {
StringBuilder sb = new StringBuilder( s.Length+10 ); // A little bit bigger to keep changes
char[] c = s.ToCharArray();
for( int i=0; i < c.Length; i++) {
switch( c[i] ) {
case 'ß' : sb.Append("ss"); break;
case 'ä' : sb.Append("ae"); break;
case 'ö' : sb.Append("oe"); break;
case 'ü' : sb.Append("ue"); break;
case 'Ä' : sb.Append("Ae"); break;
case 'Ö' : sb.Append("Oe"); break;
case 'Ü' : sb.Append("Ue"); break;
case ' ' : sb.Append("-"); break;
case '{' : sb.Append("-"); break;
case '}' : sb.Append("-"); break;
case '(' : sb.Append("-"); break;
case ')' : sb.Append("-"); break;
default : sb.Append( c[i] ); break;
}
}
return sb.ToString();
}