최근 에이 회사는 일본 프로젝트를 가지고 있습니다. 자체적으로 개발 된 중국 CM을 사용하고 언어 패키지를 분리하지 않았기 때문에 웹 사이트 구성 및 디버깅 프로세스 중에 두통이 발생하는 문제가 발생했습니다.
차량 코드의 이유
각 문자 인코딩의 저장 공간은 다르기 때문에 다른 문자가 데이터를 읽는 데 사용되면 문자 공간이 너무 작을 때 정상적으로 표시 할 수 없습니다.
예를 들어, 한자의 문자 세트는 일반적으로 GB2312입니다. UTF-8을 사용하여 GB2312의 문자를 읽고 변경하는 경우 코드가 차단 될 수 있습니다. UTF-8의 문자 세트의 저장 공간은 GB2312보다 크기 때문에 UTF-8을 사용하여 읽을 때 일부 문자 GB2312는 인코딩에 존재하지 않으며 존재하지 않는 문자는 자연스럽게 자연스럽게 표시됩니다. 정적 파일의 경우 파일의 스토리지 인코딩이 웹 페이지의 인코딩 설정 (charSet)과 일치하지 않으면 위의 이유로 인해 차량 코드가 발생합니다.
위의 것은 기존 문제를 해결할 때 국제화를위한 ASP의 지원을 포함하는 차량 문제에 대한 간단한 분석입니다.
@codepage, response.codepage, session.codepage와 관련된 세 가지 기능
아래는 MSDN의 구절입니다.
setting@codepageExplicitlyAffectSliteralsTringsInasingLerSponse.response.response.codePageAffectSdynamicStringsinasingLerPonse 및 Session.CodePageAffectSDynamicStringsInasingLersonsingSongErsponse.
세 가지 기능 모두 ASP의 인코딩을 설정할 수 있으며, 여기서 @CodePage는 PHP의 헤더와 동일하며 문서의 시작 부분에서 발행되어야합니다.
중국 운영 체제의 IIS에서 기본값은 GB2312이고 매개 변수 값은 "936"이며 일본어 문서는 CodePage를 지정해야합니다.
<%@codepage = 932%>
우리는이 기능을 사용하여 특정 사용법에 대한 문서 인코딩을 설정합니다 : http://www.cloudward.net/techlife/article.asp?id=490
지금은 문제가 없어야합니까? 와우, 문제는 여전히 존재합니다. 모든 SEO Company의 ASP 프로그램은 정적 페이지를 생성해야한다는 점을 고려합니다. 생성 된 페이지는 모두 Windows의 기본 ANSI이며 일본 문자가 포함 된 코드가 여전히 있습니다. 이러한 방식으로 UTF-8 또는 일본인으로 인코딩 된 파일을 생성하려면 ASP 기능이 필요합니다. 다음 코드를 사용하여 완료합니다.
setobjstream = server.createobject ( "adodb.stream")
bjstream없이
.열려 있는
.charSet = "UTF-8"// 인코딩, 여기서 인코딩으로 변경할 수 있습니다
.Position = objstream.size
.writetext = pencat // pencat은 서면 데이터입니다
.savetofilesserver.mappath ( "patch/flilename.html"), 2 // 파일 경로 생성
.닫다
끝
setobjstream = 아무것도
테스트 후 차량 코드의 문제가 해결되었습니다.