2016-09-19 5 views
0

노드/익스프레스/EJS 응용 프로그램에 모든 라우팅을 이식하기 전에 모든 문자 인코딩이 Shift_JIS로되어있는 웹 사이트에서 작업하고 있습니다. (노드가 기본적으로 지원하지 않는 일본어 인코딩). 이제 모든 페이지가 UTF-8로 렌더링됩니다. Shift_JIS 인코딩에 의존하는 웹 사이트에서 실행되는 일부 서비스가 있습니다.노드 + 익스프레스 + EJS 문자 인코딩 문제 (UTF-8 대 Shift_JIS)

나는 AcceptY-Encoding (비록 내가이 일을 잘하고 있는지는 모르지만), Shift_JIS로 인코딩 html을 바꿀 수있는 커스텀 미들웨어를 만들려고했다. (이것은 다른 헤더와 다른 HTML 속성들과 마찬가지로 작동한다. Doctype으로) 모든 것이 UTF-8로 렌더링됩니다.

노드에서 대체 인코딩을위한 기능을 추가하는 일부 기능이 있지만 Express 응용 프로그램에 어떻게 적용 할 수 있는지 잘 모르겠습니다.

필자는 최소한의 예제 만 제공 하겠지만 문제는 자체적으로 설명 할 수 있으며 프로젝트의 작업 코드를 제공 할 수는 없다고 생각합니다.

리뷰 : UTF-8이 아닌 Shift_JIS 인코딩으로 렌더링해야하는 사이트가 있습니다. 나는 몇 가지 해결책을 시도하고 벽돌 벽에 부딪쳤다.

도움이 매우 감사 할 것입니다. 이것은 실제로 개발을 막고 있으며 많은 분야에서 경험이 있지만 외국 인코딩은 그 중 하나가 아닙니다.

답변

1

https://www.npmjs.com/package/iconv-js을 기반으로 자신의 미들웨어를 만들 수 있습니다. 모든 출력을 Shift-JIS로 변환하거나 요청에서 무언가를 감지하고 Shift-JIS에 대한 특정 요청에 대한 응답 만 변환합니다.

자신 만의 사후 처리 미들웨어를 만드는 예제는 https://coderwall.com/p/miq0iw/node-express-middleware-to-post-process-requests을 참조하십시오.

+0

안녕하세요, 이것은 아주 멀리 문제에서 제거하지만, 많은 시행 착오 끝에 이것은 8 월에 관계없이 끝내 었습니다. 나는 이것을 점진적으로 만들었고 많은 것을 배웠습니다. 그래서 누구나이 문제에 직면했습니다. bknights는 정확한 해결책을 가지고 있습니다. – MikeJannino