AcroForm形式(PDFディクショナリ、XFAなし)のテキストフィールドを含むPDFフォームを作成し(たとえばAcrobatを使用)、データをサーバーに送信する場合、使用するエンコーディングを指定/取得するにはどうすればよいですか?
例えば。中国語のグリフ「を试」(テスト)を送信すると、サーバー側に次のヘッダーとコンテンツが表示されます。
accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
content-type: application/x-www-form-urlencoded
content-length: 23
acrobat-version: 10.1.4
user-agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MDDC; .NET4.0C; AskTbCLA/5.15.1.22229)
accept-encoding: gzip, deflate
connection: Keep-Alive
Song=%b2%e2%ca%d4&Test=
x-www-form-urlencodedを除いて、エンコーディングへの参照はありません。2つのグリフは4バイトとして表されます:B2 E2CAD4。調査の結果、B2E2が最初のグリフのGBK値であり、CAD4が2番目のグリフのGBK値であることがわかりましたが、これを要求ヘッダーから導出することはできません。
いつもGBKですか?PDFの辞書に特定のキーを設定してデータエンコーディングを変更したいのですが、ないようです。例:PDFが常にGBKではなくUnicode文字を送信するようにしたい。
テキストフィールドのデフォルトのフォント(およびエンコーディング)を変更して、すでに実験を行っていることに注意してください。また、フィールドのエンコーディングについてISO-32000-1を検索しましたが、見つけたのは、チェックボックスの非ラテン文字を定義する方法と、FDFファイルのエンコーディングに関する情報だけでした。どれも私の質問に答えませんでした。