1

ASPスクリプトにデータを投稿するiPadアプリを作成しました。その後、データはMySQLデータベースのUTF-8に保存されます。今日、ユーザーの1人がエラーを起こしたデータを投稿しました:

投稿されたデータ:

Jeanette Sjösvärd, Uttke Renata, Håkan Giljam

ログとデータベースに保存されたデータ:

Jeanette Sjösvärd, Uttke Renata, Håkan Giljam

データベースからデータを読み取るとき、テキストは「åäö」(「åäö」である必要があります)でいっぱいです。

ログには、元の投稿データがサーバーに到着する方法でパーセンテージ形式で保存されます。

Jeanette%20Sj%C3%B6sv%C3%A4rd%2C%20Uttke%20Renata

ASPページからすべてのデータを再度投稿する(そのパーセンテージエンコードされたブロックをコピーして貼り付ける)と、データはエンコードの問題なしに保存されます。

事実

  • 完全に投稿されたデータは約18kBです
  • すべてのASPページは<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>上に含まれています

質問/アイデア

  • 送信者に応じて、ASPスクリプトがさまざまな方法でデータを読み取るのはなぜですか?
  • なぜそれは100回に1回だけ起こったのですか?
  • POSTリクエストと一緒に送信する/送信する必要のあるエンコーディング情報はありますか?
  • データ内の単一の特殊文字に依存している可能性がありますか?
  • iPadは標準としてUTF-8以外のエンコーディングを使用していますか?(iPadはスウェーデン語に設定されています)
4

1 に答える 1

0

編集

このスレッドが見つかりました:HTTP POSTから受信するデータのエンコーディングを決定するものは何ですか?

postリクエストのエンコーディングヘッダーを調べます。しかし、投稿されたデータがUTF-8でないかどうかを検出し、その場合は変換するにはどうすればよいでしょうか。

この投稿のフォローアップ:https ://stackoverflow.com/questions/15656710/how-to-detect-post-encoding-and-convert-to-utf-8-in-asp

于 2013-03-27T10:32:39.553 に答える