当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > 从gb到utf-8

CSS样式表
CSS 表单元素不继承body的字体属性
网页制作学习教程 CSS Position
网页设计学习教程 CSS盒模型
vertical-align 表单元素垂直对齐的解决方法
不用Cookie的仿刷新二级高亮菜单
CSS3 优势以及网页设计师如何使用CSS3技术
CSS 网页制作 提高CSS可阅读性
CSS 样式表中引用图片地址在各浏览器中的差异
CSS Sprite优化 减少HTTP链接数
网页制作中应用的50个CSS技巧(国外)
CSS 英文教程 CSS语法
CSS 网页文字渐变效果
纯css 圆角实现代码
CSS 新的图像替换方法
不必需的样式脚本文件导致页面不能及时更新
CSS 约定写法 利用扩展
最全的CSS浏览器兼容问题小结
CSS 网页图文混排的10个技巧
IE的CSS制作网页技巧3则
创造100% 自适应css布局的行之有效的方法

CSS样式表 中的 从gb到utf-8


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 87 ::
收藏到网摘: n/a

现在不少中文网站的编码都在从gb2312向utf-8编码转化。其中出现了不少问题在这里总结一下:

前提:

保证所有的文件保存的时候都是utf-8编码的,而不是ansi

具体设置:如果使用的是文本编辑器,那么在保存文件的时候就有一个编码选择(图1)文本编辑器的保存对话框 将其选择成UTF-8就可以了。

如果是使用的dreamweaver那么就麻烦一点。

使用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编码的

注:如果使用的是access数据库那么只需要以上两步就可以了,access本身采用utf-8编码。

asp篇

代码页设置:

asp文件的第一行: <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> 改成: <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> 这也直接决定了asp 通过ado访问数据库采用的编码。
注:如果使用的是access数据库那么只需要以上两步就可以了,access本身采用utf-8编码。

如果使用了模板程序

通常的模板程序,通过fso对象来读写文件。但是这种方式没法支持utf-8,需要改成stream对象来读写文件,下面是几行关键的代码:
使用stram读文件
Set objStream = Server.CreateObject("ADODB.Stream")
With objStream
.Open
.Charset = "utf-8"
.Position = objStream.Size
.LoadFromFile server.mappath("sc.htm")
wstr = .ReadText
.Close
End With
Set objStream = Nothing
使用stream写文件Set objStream = Server.CreateObject("ADODB.Stream")
With objStream
.Open
.Charset = "utf-8"
.Position = objStream.Size
.WriteText=wstr
.SaveToFile server.mappath("wz/sc_" & classid & ".htm"),2
.Close
End With
Set objStream = Nothing

php篇

php与access连接:

在windows主机上 使用php的com扩展可以连接access数据库,在建立ADODB.Connection的时候 指定代码页参数为65001

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

php 与mysql连接

与mysql数据库建立好连接后首先执行以下SQL查询:

<?php mysql_query("SET NAMES 'utf8'"); ?>

mysql手册 关于set names 的说明 SET NAMES显示客户端发送的SQL语句中使用什么字符集。因此,SET NAMES 'cp1251'语句告诉服务器“将来从这个客户端传来的信息采用字符集cp1251”。它还为服务器发送回客户端的结果指定了字符集。(例如,如果你使用一个SELECT语句,它表示列值使用了什么字符集。)
SET NAMES 'x'语句与这三个语句等价:

mysql> SET character_set_client = x;
mysql> SET character_set_results = x;
mysql> SET character_set_connection = x;
将x设置为character_set_connection也就设置了collation_connection是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("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= %s",realpath('2data.mdb'));
// $dsn = sprintf("Driver={Microsoft Access Driver (*.mdb)};Dbq=%s",realpath("data.mdb"));
$conn->Connect($dsn);