2012-04-24 10 views
0

私は、区切り文字列として電子メールでフォームデータを処理します。最近、追加のフィールドが難解なことを証明しています。エンコードされたフォームデータ

私は分割する前に解読するbase64コーディングの文字列を受け取ります。任意のWindowsメールユーティリティから見ると、エンコードされたフィールドは、このようなものになります。それは原因

http://xxx/preloaddocument.aspx[?Ý[?ÙZYLNMÌNL ?\Ü?XYÛ?O]YI?[\??[Y?[ÙOÝ\?? 

制御文字へ:復号化して表示した後

http://xxx/preloaddocument.aspx?instanceid=1971900&isreadonly=true&internal=false 

を「ストレート」フィールドには、次のようになります異なる視聴者によって異なって見ることができる。

なぜクエリ文字列がURLの残りの部分と異なって形成されるのかにかかわらず、これに対処する方法についてのアイデアはありますか?翻訳されたクエリ文字列は50文字で、エンコードされた(?)バージョンは56文字です。

+0

解決済み。 私の問題は、わずかに欠陥のあるjQueryデコードライブラリが原因であることがわかりました。ここで説明されている問題が解決するまでうまくいきました。それは "jquery.crypt"と呼ばれています。 さまざまなライブラリ(さまざまに配布されていますが、私はjquery.base64.jsとして使用しています)に変更すると、デコードが完全に行われ、説明されている問題が消滅しました。 –

答えて

0

これはあまりにも良い話です。

上記のコメントに記載されているjquery.base64.jsを発見した後、私はSharePoint開発サイトでこれを使用して、微妙に失敗したjquery.crypt.jsライブラリを置き換えました。完璧に作業し、関連するコードをプロダクションに移行しました。総障害

ここで興味深い部分があります。私の開発サイトは、生産とまったく同じライブラリとファイルを参照しています。したがって、JavaScriptの参照は両方のサイトで同じです。しかし、同じコードが開発において完全に機能していたにもかかわらず、生産現場では明らかにライブラリが見つかりましたが、そのいずれのメソッドも提供できませんでした。私はこれを数時間働いた後、Base64ライブラリをこのライブラリに置き換えたという事実に戻りました。なぜなら、まだ別のものを試してみてはいかがですか?もちろんそれは意味がありませんでした。

私はwebtoolkit.base64.jsを見つけました。開発時に働いたことは今回が何の意味もありませんでしたが、プロダクションコードから参照することもできました。

関連する問題