>웹 프론트엔드 >CSS 튜토리얼 >GB에서 utf-8_experience 교환으로

GB에서 utf-8_experience 교환으로

WBOY
WBOY원래의
2016-05-16 12:10:041761검색

현재 많은 중국 웹사이트의 인코딩이 gb2312에서 utf-8 인코딩으로 변환되고 있습니다. 발생하는 많은 문제가 여기에 요약되어 있습니다.

전제 조건:

모든 파일이 ANSI가 아닌 UTF-8 인코딩으로 저장되었는지 확인하세요

특정 설정: 텍스트 편집기를 사용하는 경우 파일 저장 시 인코딩 선택이 있습니다(그림 1) 文本编辑器的保存对话框 UTF-8로 선택하면 됩니다.

드림위버를 사용한다면 조금 더 번거로울 것입니다.

Dreamweaver를 사용하여 정적 파일을 편집하는 경우 파일의 charset 태그를 utf-8(<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />에서 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />로 변경한 다음 다른 이름으로 저장을 선택하면 Dream에서 파일이 utf-8로 인코딩됨

)으로 저장됩니다.

참고: 액세스 데이터베이스를 사용하는 경우 위의 두 단계만 필요합니다. 액세스 자체는 UTF-8 인코딩을 사용합니다.

asp 기사

코드 페이지 설정:

ASP 파일의 첫 번째 줄: <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>이 다음으로 변경되었습니다. <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> 이는 ASP가 ADO를 통해 데이터베이스에 액세스하는 데 사용하는 인코딩을 직접 결정합니다.
참고: 액세스 데이터베이스를 사용하는 경우 위의 두 단계만 필요합니다. 액세스 자체는 UTF-8 인코딩을 사용합니다.

템플릿 프로그램을 사용하는 경우

일반적인 템플릿 프로그램은 fso 객체를 통해 파일을 읽고 씁니다. 그러나 이 방법은 utf-8을 지원할 수 없으며 파일을 읽고 쓰려면 스트림 개체로 변경해야 합니다. 다음은 몇 가지 주요 코드 줄입니다.
파일을 읽으려면 stram을 사용하세요
objStream = 설정 Server.CreateObject(" ADODB.Stream") <code>Set objStream = Server.CreateObject("ADODB.Stream") <br>    With objStream <br>    .Open <br>    .Charset = "utf-8" <br>    .Position = objStream.Size <br>    .LoadFromFile server.mappath("sc.htm")<br>    wstr = .ReadText<br>    .Close <br>    End With <br>Set objStream = Nothing<br>  objStream 사용 Set objStream = Server.CreateObject("ADODB.Stream") <br>    With objStream <br>    .Open <br>    .Charset = "utf-8" <br>    .Position = objStream.Size <br>    .WriteText=wstr <br>    .SaveToFile server.mappath("wz/sc_" & classid & ".htm"),2  <br>    .Close <br>    End With <br>Set objStream = Nothing .Open

.Charset = "utf-8"

.Position = objStream.Size

.LoadFromFile server.mappath(" sc.htm")

wstr = .ReadText

.Close

End With <?php<BR>$conn = new COM("ADODB.Connection",NULL,65001) or die("ADO connect failed!");<BR>$rs = new COM("ADODB.RecordSet") or die("ADO recordset fail"); $conn->open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.mdb"); <br>$rs = $conn->Execute("select * from data");<br>while not $rs->EOF<br>echo $rs->Fields['title']->value;<br>?>Set objStream = Nothing

stream을 사용하여 파일 쓰기 Set objStream = Server.CreateObject ("ADODB.Stream" ) objStream 사용 <p> .Open </p> .Charset = "utf-8" <code><?php mysql_query("SET NAMES 'utf8'"); ?> .Position = objStream.Size .WriteText=wstr .SaveToFile 서버 .mappath("wz/ sc_" & classid & ".htm"),2
.Close

End With objStream = Nothing으로 설정 php 문서

php 및 액세스 연결:


Windows 호스트에서 PHP의 com 확장자를 사용하여 ADODB.Connection을 설정할 때 코드 페이지 매개변수를 65001
<?php<BR>$conn = new로 지정합니다. COM(" ADODB.Connection",NULL,65001) 또는 die("ADO 연결 실패!");</P>$rs = new COM("ADODB.RecordSet") 또는 die("ADO 레코드 세트 실패"); -> open("Provider=Microsoft.Jet.OLEDB.4.0;데이터 소스=data.mdb")

$rs = $conn->Execute("select * from data");

while $rs ->EOF

echo $rs->Fields['title']->value;

?>

아님 php와 mysql 연결

mysql 데이터베이스와 연결을 설정한 후 먼저 다음 SQL 쿼리를 실행합니다. <?php<BR>require_once('adodb/adodb.inc.php'); <BR>$conn =& ADONewConnection('ado_access'); <BR>$conn->charPage ='65001';<br>//$conn->charPage = 65001;<br>//$conn->debug = true;<br>$dsn = sprintf("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= %s",realpath('2data.mdb'));<br>// $dsn = sprintf("Driver={Microsoft Access Driver (*.mdb)};Dbq=%s",realpath("data.mdb"));<br>$conn->Connect($dsn); mysql manual 세트 이름 설명 SET NAMES는 클라이언트가 보낸 SQL 문에 어떤 문자 세트가 사용되었는지 표시합니다. 따라서 SET NAMES 'cp1251' 문은 "이 클라이언트의 향후 정보는 문자 집합 cp1251을 사용할 것입니다."라고 서버에 알립니다. 또한 서버가 클라이언트에 다시 보내는 결과에 대한 문자 집합을 지정합니다. (예를 들어 SELECT 문을 사용하는 경우 열 값에 어떤 문자 집합이 사용되는지 나타냅니다.) SET NAMES 'x' 문은 다음 세 가지 문과 동일합니다. mysql> SET Character_set_client = x; adodb 클래스 사용: 'charpage' 속성을 65001로 설정합니다. <?php<🎜>require_once('adodb/adodb.inc.php') <🎜>$conn =& ADONewConnection('ado_access' ) ; <🎜>$conn->charPage ='65001';//$conn->charPage = 65001;//$conn->debug = true;$dsn = sprintf("공급자=Microsoft.Jet.OLEDB.4.0;데이터 소스= %s",realpath('2data.mdb'));// $dsn = sprintf("드라이버={Microsoft Access Driver (*. mdb )};Dbq=%s",realpath("data.mdb"));$conn->Connect($dsn);
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.