1

I want to convert a java string that contains UTF-8 characters to a format that a browser can use( the string will be used as URL ) What exactly I mean is that url.openStream() cannot open a webpage, when url contains Persian letters.

Masood Delfarah
  • 647
  • 3
  • 7
  • 12

2 Answers2

1

You need to percent-encode the non-ASCII characters in the URL. See how to encode URL to avoid special characters in java and URLEncoder#encode(String, String).

Community
  • 1
  • 1
Matt Ball
  • 344,413
  • 96
  • 627
  • 693
1

Java Strings do not contain UTF-8 characters. From the docs for Character:

The Java 2 platform uses the UTF-16 representation in char arrays and in the String and StringBuffer classes.

You can use the URLEncoder class to encode a string so that url.openStream() works.

Ted Hopp
  • 227,407
  • 48
  • 383
  • 507