从gb到utf-8,现在不少中文网站的编码都在从gb2312向utf-8编码转化。其中出现了不少问题在这里总结一下: 前提: 保证所有的文件保存的时候都是utf-8编码的,而不是ansi 具体设置:如果使用的是文本编辑器,那么在保存文件的时候就有一">

从gb到utf-8" target="_blank">从gb到utf-8


现在不少中文网站的编码都在从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);



相关阅读:
Ajax应用研究-注册应用
event.srcElement 用法笔记e.target
和php有关的几种常见安全详细解析
定位后无法选择容器内容解决方案
Ubuntu Linux系统下设置shorewall防火墙
Javascript 同时提交多个Web表单的方法
NBear V3.3.6使用感受
ASP.NET 2.0中多页面表单的使用
php简单提示框alert封装函数
超简单的jquery的AJAX用法
在table中插入多行的js代码(与insertAdjacentHTML相似的功能)
mysql 常用命令用法总结脚本之家整理版
ON DUPLICATE KEY UPDATE注意事项
W3 Jmail 简要介绍
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 如果没有梦想,生命也就毫无意义 残联党建工作述职报告 市长XX在2006年形势报告会上的讲话 银行内控总结范文 那个村 痛了,就哭出来吧。 上学那点破事作文1600字 “爷”的变迁 市场部新员工2014年度工作小结-销售工作总结_销售工作总结 客房服务礼仪标准 让我最激动的一件事 保护生物圈450字 写景作文350字 秋游凤凰山 杰出的流年2(转载)作文1600字 示范课活动总结 QQ空间图文日志:有种友谊不叫暧昧,叫蓝颜 我的良师益友——当代小学生之快乐 关于人生的哲理感悟语录 我为谁停留 文 端木稼益 一个没有自由的人 最全席慕容经典语录 学校工会学习心得体会 2015小学音乐教学心得体会 经典励志短句_励志短句 竞争无处不在作文500字 如何化“压”为零白领四大调节法 天空·白云论 秀丽的龟山 2016年团残联全国爱耳日活动总结 感人的亲情??观暖情有感 经典女生励志短语 “90后”——最华丽的忧伤作文300字 迷失森林(2) 流年渐逝 乌鸦斗狐狸 《随遇而安》读后感 2015中考作文题目预测:成功需要坚持与拼搏 励志故事:正确对待人生的挫折 变电运行专业内训师培训心得体会 2016读书教育活动演讲稿 婚礼司仪诗意主持词 酒殇 和平地球 《士兵突击》许三多语录 人类信息的发展 体现自信的十个小建议 mcc江明玉网络红人江明玉小坏哥江明玉 小学五年级作文450字:皮皮日记 淘气的皮皮 懒羊羊的经典语录 在黑暗中与时光对峙

Copyright © 2016 phpStudy |