2012-11-09 3 views
2

Crystal Reports 8 Web Component Server를 사용하는 예전보고 시스템에 대한 간단한 프론트 엔드를 작성합니다. 그리고이 웹 구성 요소에 'POST'요청을해야합니다. 표준 UTF-8을 사용하여 인코딩 된 페이지에서 요청할 때 모든 양식 데이터도 UTF-8로 전달됩니다. CR8 Web Component Server는 UTF-8을 이해하지 못하기 때문에 문제가됩니다. accept-charset="ISO-8859-5"accept-charset="windows-1251"을 매개 변수에 넣으려고했지만 행운이 없었습니다.플라스크 (jinja2 사용)는 'windows-1251'인코딩을 사용하여 템플릿을 렌더링 할 수 있습니까?

는 여기에 대한 추가 정보를 원하시면이다, 그것은 유용 할 수 있습니다 : CR8 웹 구성 요소 서버가 ActiveX 구성 요소를 사용하기 때문에

  • 이 프론트 엔드는 IIS6와 Windows Server 2003에서 작업 할,
  • 만 적합한 브라우저는 IE이다. (자바 플러그인도 있지만, 어떤 이유로 든 전혀 작동하지 않습니다.)

매개 변수 이름과 값에 키릴 문자가 포함될 수 있으므로 'windows-1251'인코딩을 사용하여 템플릿을 렌더링하려면 flask (jinja2)가 필요합니다. 내가 이걸 얻을 수있는 방법이 있니?

답변

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') 

더러운 해킹 같은데,하지만 작동합니다

는 그리고 그것은 그렇게 보인다.

관련 문제