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
  • 687
  • 3
  • 7
  • 13

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
  • 354,903
  • 100
  • 647
  • 710
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
  • 232,168
  • 48
  • 399
  • 521