3

Crystal Reports 8 WebComponentServerを使用するかなり古いレポートシステム用のシンプルなフロントエンドを作成します。そして、このWebコンポーネントに対して「POST」リクエストを行う必要があります。標準のUTF-8を使用してエンコードされたページからリクエストを行うと、すべてのフォームデータもUTF-8で渡されます。そして、それが問題です。なぜなら、CR8 Web Component ServerはUTF-8を理解していないからです(またはそれを理解していて、私は間違っていますか?)。私はパラメータを入れようとしましたが、うまくいきませんでしたaccept-charset="ISO-8859-5"accept-charset="windows-1251"

これが役に立つかもしれないより多くの情報です:

  • このフロントエンドは、IIS6を搭載したWindowsServer2003で動作します。
  • CR8 Web Component ServerはActiveXコンポーネントを使用するため、適切なブラウザはIEのみです。(Javaプラグインもありますが、何らかの理由でまったく機能しません)。

したがって、パラメータ名と値にキリル文字を含めることができるため、「windows-1251」エンコーディングを使用してテンプレートをレンダリングするには、flask(jinja2)が必要です。これを達成する方法はありますか?

4

3 に答える 3

1

私は単純な(そしておそらくばかげた)解決策を見つけました。の代わりにreturn render_template('template.html', params**)、手動でリクエストを作成し、リクエストデータとヘッダーを必要なものに設定しています。

そしてそれはそのように見えます:

r = Response()
    r.headers['Content-Type'] = 'text/html; charset=windows-1251'
    r.data = render_template('template.html', param1 = data).encode('cp1251')

汚いハックのように見えますが、機能します。

于 2012-11-19T01:56:42.173 に答える
0

フラスコを使用している場合は、これを読んでいますか:

http://flask.pocoo.org/docs/unicode/

于 2012-11-09T16:44:08.503 に答える
0

私の場合、loaders.pyのいくつかの場所にハードコード「utf-8」があり、これを「windows-1251」に置き換えました。私にとってはすべてが機能しました。

于 2021-06-26T11:07:55.293 に答える