- ベストアンサー
URLのエンコードについて
JavaScriptで、JSON形式で渡ってきたデータを読んで、一部、文字列を結合して URLを作るんですが、その際のエンコードは encUrl= 'http://test.com/' + encodeURIComponent(xxx) + '/'; (xxxがjsonからきたデータ) で大丈夫でしょうか? たとえば.NETで言うところのHttpUtility.UrlEncodeと同じことがしたいのですが、 URIエンコードだとたぶん違いますよね…。 何を使えばUrlEncodeが出来るのでしょうか。
- ginfix
- お礼率34% (330/962)
- JavaScript
- 回答数1
- ありがとう数0
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ただそのURIのページを開くだけなら、問題ありません。 が、他の言語と連携する場合は別です。 エンコード方法が異なりますので、JavaScript、若しくは他の言語で工夫する必要があります。
関連するQ&A
- URLエンコードされたデータを戻すには
POSTでCGIに渡す文字列はURLエンコードされていて、元に戻すにはデコードが必要ですが、もともとURLエンコードされたデータをデコードしたデータにできないでしょうか。 普通は、 読める文字→URLエンコード→CGIによる処理→URLデコード→読める文字 ですが、 もとのデータがURLエンコードされた状態だと、 URLエンコードされた文字→URLエンコード→CGIによるURLデコード→URLエンコードされた文字 となってしまいます。 たとえば、「%82%a0%82%a0%82%a0」というデータ形式から、「あああ」というデータを得たいのです。
- 締切済み
- Perl
- javascriptでEUCのエンコード
検索エンジン用のエンコードした文字列をjavascriptで処理しようとしています。 encodeURIComponent で処理するとUTF-8でエンコードされてしまい、思うような結果が得られません。 EUCでエンコードされた結果を得る方法は無いでしょうか? ネットで探してみたのですがjavascriptだけで解決する方法を見つけられずに困っています。 javascript内で自作の関数を作ってもいいのですが、何かヒントがあればと思います。 よろしくお願いします。
- ベストアンサー
- JavaScript
- ディレクトリ名に日本語をエンコードしたものを入れる
例えば、[てすと] という文字列をurlencode()関数 でエンコードして %5B%E3%81%A6%E3%81%99%E3%81%A8%5D になりますよね。 でも、自分のサイトで、http://○○○.com/test/%5B%E3%81%A6%E3%81%99%E3%81%A8%5D/index.php にリンクを張ってアクセスしても、アクセスできないのです。 404エラーになってしまいます。 例を挙げるなら、ニコニコ動画のタグ以降のURLは http://www.nicovideo.jp/tag/○○○○○ となっています。 ○○○○○の部分に日本語をエンコードした文字列が入っています。 このような日本語をエンコードした文字列は、どうやって作ればいいのですか? urlencode()関数 で作ったはいいのですが、そこにリンクを張ってもアクセスできません。
- ベストアンサー
- PHP
- JSONエンコードの際の問題
PHP5.2.6とJavascriptの間で、JSONを用いてデータをやり取りしていますが、JSONエンコードの際に文字列がUnicodeエスケープ(\u3000のような形)されてしまい、データサイズが肥大化して困っています。 本来3バイトで良いところを6バイト消費していますので、全体としては約2倍弱のサイズのデータをやり取りすることとなってしまいます。 UTF-8のまま出力するライブラリ等はありませんでしょうか? php-jsonやJsphon等を試してみたのですが、いずれもUnicodeエスケープされたjson文字列が出力されてしまいました。 宜しくお願い致します。
- 締切済み
- PHP
- シフトJISでURLエンコード
IEのJavaScriptのescapeで日本語をURLエンコードすると、UnicodeでURLエンコードしてしまいますが、シフトJISのままURLエンコードする方法はないのでしょうか? 文字列のシフトJISコードを取得する方法でも良いのですが・・・。 まったく、Unicodeなんて役に立たないものを無理矢理標準にしようとしないで欲しいナ!>MS
- ベストアンサー
- JavaScript
- フォーム送信とURLエンコードについて
CGI&PHP初心者です。 フォームのデータ送信とURLエンコードについて、お尋ねします。 method="GET" のフォームで、検索フォームをつくりたいとおもっています。 日本語も含めた検索語をフォーム送信したいと考えていますが、 送信の結果、エンコードされずにそのままブラウザのURL欄に入力した日本語が表示されてしまいます。 (ただ、メモ帳などにURLをコピーペーストするとURLエンコードがされているようです。) googleでは検索結果のアドレス欄にURLエンコードされた文字列がでているが、 同じように検索結果のアドレス欄にはURLエンコードされた文字列をだしたい。 URLに日本語をださずにURLエンコードさせた文字列を表示させるには、 どうすればいいのでしょうか? 補足:できるかぎり検索処理が重くならないにしたいと思います。 開発環境PHP&MySQL 動作環境Chrome のバージョン 38.0
- ベストアンサー
- CGI
- URLの日本語引渡しそして表示
Javascriptで下記のようなことをしようと思っているのですが、一つ一つは色々なページを見て、理解したのですが、全てを合わせる方法がイマイチ分かりません。やりたいことは、 <a href="XXX">商品1</a> ↓ クリック URL http://xxx?エンコードされた商品1という文字列 ↓ 次ページ 次のページでページ内に「商品1」とデコードされて表示 ということです。商品1という部分が英数字であればできるということは 実践できたのですが、そのデータをエンコードし、デコードするという過程をどのように埋め込めば良いか分からないでおります。 恐れ入りますが教えて下さい!
- 締切済み
- JavaScript
- Rails4 Redirect_Toで送信
Rails4の開発で困っています。 コントローラーのRedirect_ToからほかのサーバへダイレクトにURLを記載し、そのURLの後ろに、?からJSON形式データをつけて渡そうとしています。 一度実施してみると、Webrickのログでは、URLを生成できていますが、 ERROR URI::InvalidURIError: bad URI(is not URI?) というエラーが出て送信できません。 redirect_toを利用することにこだわりはありません。 jsonデータをコントローラーで生成して、そのあと、決まったURLにつけて送信するだけです。 何か良い方法はないでしょうか?
- ベストアンサー
- Ruby
- NetScapeのURLエンコード(JavaScript)
NetScapeでJavaScript(escape)を使用して 【経営】という文字列をURLエンコード しようとしたら、【%8Co%89c】となりました。 通常は【%B7%D0%B1%C4】となるはずなのですが うまくいきません。 解決方法はありますでしょうか? ちなみに、NetScape4.7です。 6以降だとうまくいきました。 ご回答よろしくお願いいたします。 以上
- ベストアンサー
- JavaScript