• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 360
  • Last Modified:

how encode a url in java script

Hi ,

I have pass some japness char throw URL in java script and i get values in java . while i am getting junk value only coming ? how can i get the values  correctly?
0
Sathish David  Kumar N
Asked:
Sathish David  Kumar N
3 Solutions
 
Big MontySenior Web Developer / CEO of ExchangeTree.org Commented:
use the escape function to encode your data:

str = escape( 'this text should be encoded' );
0
 
Sathish David Kumar NAuthor Commented:
i got java error

java.io.CharConversionException: isHexDigit like this ?
is there any other way ??
0
 
leakim971PluritechnicianCommented:
>i got java error
>java.io.CharConversionException: isHexDigit like this ?

The code provided by @The_Big_Daddy is javascript not java. You need to test it on the client side.

Else, the best way to handle character encoding problem is to use the same one everywhere and an encoding supporting your characters.
Best is to use UTF8 (database, html page, request, response,...)
Could you confirm you're using the same everywhere ? And which one ?
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
Sathish David Kumar NAuthor Commented:
ya i changed in java script . while i am taking the values in java its giving this error !!

Ya i am using UTF-8 format only .  
0
 
leakim971PluritechnicianCommented:
>Ya i am using UTF-8 format only .

I follow your other thread as you know, we need to be sure of that
0
 
cyberhiteshCommented:
escape() function is the only way to encode string in javascript
0
 
Sathish David Kumar NAuthor Commented:
i set some values in popup to parentwindow !!

May be that time char encoding format will change !!

can you tell me how to set the values with UTF-8 format

opener.forName.filedNmae.value="japanesh char";
0
 
leakim971PluritechnicianCommented:
An example :

parent window :


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head>
<title>http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_26871660.html</title>
<script>
	function openLittle() {
		little = window.open("little.html");
	}
</script>
</head>
<body>
<form name="forName">
<input name="filedNmae" type="text" value="japanese will appear here" style="width:320px;text-align:center" />
<input type="button" value="click to open popup window" onclick="openLittle();" />
</form>
</body>
</html>

Open in new window

0
 
leakim971PluritechnicianCommented:
little.html :


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head>
<title>http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_26871660.html</title>

</head>
<body>
<form name="littleForm">
<input name="japan" type="text" value="put inside japanese chars and click ok to send them to parent" style="width:400px" />
<input type="button" onclick="window.opener.forName.filedNmae.value=document.littleForm.japan.value" value="OK" />
</form>
</body>
</html>

Open in new window

0
 
Sathish David Kumar NAuthor Commented:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
is this engough ?
0
 
leakim971PluritechnicianCommented:
>is this engough ?  
for two simples HTML pages, yes

...but it seems you get/from data from/to database and so work with server side language
0
 
Sathish David Kumar NAuthor Commented:
>>>>>>>>
...but it seems you get/from data from/to database and so work with server side languag
i have set that in java
0
 
leakim971PluritechnicianCommented:
ok so if you "put" the value with the wrong format on the server side, you will not get it in the right format on the client side
0
 
Sathish David Kumar NAuthor Commented:
actually my problem is

with form submit i can get the values  (Japanese values) so its set proper char-set format

but with out form submitting like pop up window open(i want to retrieve some values so iam going with that url for popup) so that time my char set is not working.
0
 
leakim971PluritechnicianCommented:
"put" mean something like (line 11 of little) :

out.println("<input name=\"japan\" type=\"text\" value=\"" + ImInWrongFormat + "\" style=\"width:400px\" />");

Open in new window

0
 
leakim971PluritechnicianCommented:
did you tried my two simple html page ? it work fine on your side?
0
 
Sathish David Kumar NAuthor Commented:
Thanks for your time. but iused encodeURI() to solve the issue !!
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now