网站全面采用UTF-8方法

先是概念的理解:

Unicode/UCS的压缩形式--UTF8出现了,套用官方网站的首句话『UTF-8 stands for Unicode Transformation Format-8. It is an octet (8-bit) lossless encoding of Unicode characters.』,由于UTF也适用于编码UCS,故亦可称为『UCS transformation formats (UTF)』
UTF8是以8bits即1Bytes为编码的最基本单位,当然也可以有基于16bits和32bits的形式,分别称为UTF16和UTF32,但目前用得不多,而UTF8则被广泛应用在文件储存和网络传输中。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

GBK的文字编码是双字节来表示的,即不论中、英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1。
至于UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的论坛则用UTF-8节省空间。
GBK包含全部中文字符,
UTF-8则包含全世界所有国家需要用到的字符。
GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准
UTF-8编码的文字可以在各国各种支持UTF8字符集的浏览器上显示。
比如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,而无需他们下载IE的中文语言支持包。
对于英文比较多的论坛,使用GBK则每个字符占用2个字节,而使用UTF-8英文却只占一个字节。
UTF-8版本虽然具有良好的国际兼容性,但需要比GBK/BIG5版本多占用50%的数据库存储空间,因此并非推荐使用,仅供对国际兼容性有特殊要求的用户使用。

1. 用 vi /etc/httpd/conf/httpd.conf 設定Apache中的编码为:( (记得restart)

 AddDefaultCharset UTF-8;

2. 用 vi /etc/php.ini 设置php中的编码为:( (记得restart)

 default_charset = "utf-8";

3. 用 vi /etc/my.cnf 设置MySQL中的编码为:( (记得restart)

[mysqld]
    init_connect=‘SET NAMES utf8‘;
    default-character-set=utf8;
[client]
    default-character-set = utf8;

4. 建立函数库时选择编码为: (记得清除DB Cache)

DROP DATABASE IF EXISTS `aa`;
      CREATE DATABASE `aa` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      USE `aa`;
      CREATE TABLE  IF NOT EXISTS `aat` (      `id` char(1) NOT NULL default ‘1‘,
       `myStr` varchar(200) default NULL,
      PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

5. 用UltraEdit(v11.20a版) 转换所有ANSI格式的php文档转换为UTF-8格式:

File --> Conversions --> ASCII to UTF-8 (Unicoding Editing)
  ( 在UltraEdit中按Advanced --> configuration --> File Handling
  --> Unicode/UTF-8 Detection --> 剔选Auto detect utf-8 files )

    如有需要时,可执行Remove BOM.php. 应该用Windows系统的Notepad将php文档由ANSI转为UTF-8时,

  因为文档头有BOM,会引起排版问题或者php程序无错误提示,页面显示空白,需要移除,执行Remove BOM.php即可自动移除.

  Remove BOM.php可由以下网址下载:

http://www.hoyo.idv.tw/hoyoweb/document/view.php?sid=13&author=hoyo&status=view

6. 在php文档中必須加入:

<html><head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head><body>

7. 在连接DB的文档中必須加入3行mysql_query才ok:

// 要在真正query DB取出资料前,加入以下3行
 mysql_query("SET NAMES ‘utf8‘");
 mysql_query("SET CHARACTER_SET_CLIENT=utf8");
 mysql_query("SET CHARACTER_SET_RESULTS=utf8");
 $sql  = "select * from aat where crid=‘1‘";
 $rows = mysql_query($sql);

8. 在php文档中, 如有需要注意: [Optional]

      运用htmlentities和htmlspecialchars时,如下:

         $chars = htmlentities($chars,ENT_QUOTES,"UTF-8");
         $chars = htmlspecialchars($chars,ENT_QUOTES,"UTF-8");

      并且在显示前要用

         $chars = html_entity_decode($chars,ENT_QUOTES,"UTF8");

      如有用过addslashes()或mysql_real_escape_string()记得用以下:

         $chars = stripslashes($chars);

      如有需要可以用以下函数转换编码:           

         $chars = iconv(‘Big5‘,‘UTF-8‘,$chars); //由Big5转换UTF-8

<摘自:http://www.cnblogs.com/cy163/archive/2007/05/31/766886.html & http://blog.sina.com.cn/s/blog_6dd65c6f01019b37.html & http://www.verydemo.com/demo_c116_i116823.html>

时间: 2024-10-08 09:34:43

网站全面采用UTF-8方法的相关文章

对于大流量的网站,您采用什么样的方法来解决访问量问题?

当一个网站发展为知名网站的时候(如新浪,腾讯,网易,雅虎),网站的访问量通常都会非常大,如果使用虚拟主机的话,网站就会因为访问量过大而引起 服务器性能问题,这是很多人的烦恼,有人使用取消RSS等错误的方法来解决问题,显然是下错药,那么对于大流量的网站,需要采用什么样的方法来解决访问量 问题? 解决方法参考如下: 首先,确认服务器硬件是否足够支持当前的流量. 普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大,那么必须首先配置一台更高性能的专用服务器才能解决问题,否则怎么优化

Nginx对某个目录或整个网站进行登录认证的方法

比如要对 网站目录下的 test 文件夹 进行加密认证 首先需要在opt 的主目录中 /opt/ 创建一个新文件 htpasswd 此文件的书写格式是 用户名:密码 每行一个账户 并且 密码必须使用函数 crypt(3) 加密 官方档说 可以用 Apache 的 htpasswd 工具来创建密码文件 [[email protected] /]# htpasswd -bash: htpasswd: command not found [[email protected] /]# 如果上述提示则需要

推广新网站的八种有效方法

据AdWeek调查显示,81%的顾客在决定购买一件商品或服务之前会先访问该公司的网站. 一部分的顾客会直接通过社交媒体平台.电子邮件营销活动或他们读到的博文中的链接来访问一个特定的网站--但大约60%的顾客会通过搜索引擎输入关键词进入一个网站. 如果您的潜在客户通过在线搜索或其它的营销渠道找不到您的网站,那么您的网站就不能产生很多流量,而您的企业就无法得到发展了. 那创建新网站最主要的是什么呢?如果您尚未制定好一个网站推广计划,那么花时间创建一个新网站根本就没有多大意义,bluehost建议使用

分析dede网站首页访问慢的方法

今天碰到了一个关于DEDE的问题,dedecms打开首页非常的慢,慢的离谱,加载一个首页而已,竟然花了2分多钟,然后访问里面的内页,速度就非常的快,这是什么情况呢? 阿D处理完问题后,根据平时的处理经验,总结出了很多种原因会导致dede网站访问首页慢的方法.希望大家可以看一下,或许对大家有帮助. 1:没有生成静态html页面,会导致打开速度很慢.阿D建议把首页生成静态的HTML页面,这样可以加快访问速度,大家都知道的,静态的页面比动态有各种的优势对seo也是比较友好! 2:在安装dedecms网

SEO提高网站排名快速见效的方法

SEO如何提升网站排名?seo中文名称搜索引擎优化,是提升网站排名的一种技术手段,常用的手段就是优化标签,内链外链等等,最核心的优化方向,"关键词".最常见的表现形式就是软文,但是有的时候就算你做了很多,也不见得有效果?其实想提高网站排名不是一时半会的功夫,那是要日积月累的,下面犀牛代理IP给大家简单的说是所SEO提高网站排名快速见效的方法 seo做排名不是像竞价那么快的,自然排名的是上升需要一个周期,一般来讲这个周期的稳定时间大致需要3个月,3个月的大周期还分味几个小周期,小周期期间

织梦重置密码的方法和织梦网站后台登陆账号修改方法

1.打开数据库,找到数据库表名为:dede_admin,单击dede_admin,将 d95a993df018d377fef8,替换为:f297a57a5a743894a0e4   ,这个值表示:admin就是织梦的默认密码.替换后保存. 2.将radminpass.php上传网站根目录,访问域名/radminpass.php 3.登录网站后台修改 4.织梦网站后台登陆账号修改方法     update dede_admin set userid='admin' where id=1     执

对于大流量的网站,采用什么方法解决访问量问题

1.硬件方面普通的一个p4的服务器每天最多能支持大约10万左右的IP,主要影响服务器的速度有:网络-硬盘读写速度-内存大小-cpu处理速度. 2.软件方面静态页面前台实现完全的静态化当然最好,可以完全不用访问数据库 数据库优化表字段优化语句优化索引优化分库分表读写分离 3.禁止外部的盗链外部盗链往往会加大服务器的请求和流量的负载压力,因此应该严格限制外部对于自身的图片或者文件盗链,好在目前可以简单地通过refer来控制盗链,Apache自己就可以通过配置来禁止盗链IIS也有一些第三方的ISAPI

26种提高ASP.NET网站访问性能的优化方法 .

1. 数据库访问性能优化 数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源. ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响.系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的连接请求. 连接池的大小是有限的,如果在连接池达到最大限度后仍要求创建连接,必然大大影响性能.因此,在建立数据库连接后只有在真正需要操作时才打开连接,使用完

网站暴库原理与方法剖析

一.方式 暴库的方式有多种多样,我知道的就有3种以上,常见的暴的方法有:%5c类暴,conn.asp暴,ddos暴等等 二.原理 “%5c”暴库法,它不是网页本身的漏洞,而是利用了IIS解码方式中的一个特性,如果IIS安全设置不周全, 而网页设计者未考虑IIS错误,就会被人利用. 为何要用”%5c”?它实际上是”\”的十六进制代码,也就是”\”的另一种表示法.在电脑中,它们是一个东东. 但提交”\”和”%5c”却会产生不同的结果,在ie中,我们把下面第一个地址中的”/”换成”\”提交: _bla