2

Ž、ćなどのutf文字を含むサーバーワードから取得しました.... URLパラメーターを入力すると、URLは次のようになります?id=229&name=%8eena%20mini%3f

js関数でURLからパラメータを取得しています

function getURLParameter(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

最初の id パラメータを解析しますが、2 番目 (URL にエンコードする前に utf がある場合) は壊れます。

var id = getURLParameter('id');//works
var id = getURLParameter('name');//breaks when have utf

url から utf があるときにそのパラメーターを取得する方法は? (私が持っているページに<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

4

1 に答える 1

1

エンコーディングŽena%8eenaが UTF-8 エンコーディングではなく、Windows-1252 エンコーディングを使用しているのは、その文字セットでŽ表されるためです。8e

UTF-8 では、Žは として表されるため、フォームに正しいエンコーディングが含まれている場合、c5 bdURL に含まれていることを期待する必要があります。%c5%bd

<meta charset="utf-8">前のページ、または少なくともaccept-charset="utf-8"送信するフォームの属性が必要なようです。

参照:ページが既に UTF-8 である場合、accept-charset="UTF-8" を HTML フォームに追加する利点はありますか?

于 2013-08-01T09:59:04.417 に答える