Web 开发中遇到的UTF-8编码的问题总结第1/2页_相关技巧

主要有五个方面:

一..HTML页面转UTF-8编码问题

二.PHP页面转UTF-8编码问题

三.MYSQL数据库使用UTF-8编码的问题

四.JS相关的UTF-8编码问题

五.FLASH相关的UTF-8编码问题

一.HTML页面转UTF-8编码问题

1.在<head>后,<title>前加入一行:

<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />

顺序不能错,一定要在<title>标签前加入,否则如果<title>与</title>之间有中文字符的话,显示的标题有可能是乱码!

2.html文件编码问题:

点击编辑器的菜单:“文件”->“另存为”,可以看到当前文件的编码,确保文件编码为:UTF-8,如果是ANSI,需要将编码改成:UTF-8。

3.HTML文件头BOM问题:

将文件从其他的编码转换成UTF-8编码时,有时候会在文件的最开始加上一个BOM标签,在个BOM标签可能会导致浏览器在显示中文的时候出现乱码。

删除这个BOM标签的方法:

1.可以用Dreamweaver打开文件,并重新保存,即可以去除BOM标签!

2.可以用EditPlus打开文件,并在菜单“首选项”->“文件”->"UTF-8标识",设置为:“总是删除签名”,然后保存文件,即可以去除BOM标签!

4.WEB服务器UTF-8编码问题:

如果你按以上所列的步骤做了,还是有中文乱码问题,请检查你的所使用的WEB服务器的编码问题

如果你使用的是Apache,请将配置文件里的:charset 设成:utf-8(这里仅列出方法,具体格式请参考apache的配置文件)。

如果你使用的是Nginx,请将nginx.conf里的:charset   设成 utf-8,具体找到 "charset   gb2312;"或者类似的语句,改成:“charset   utf-8;”。

二.PHP页面转UTF-8编码问题

1.在代码开始出加入一行:

header("Content-Type: text/html;charset=utf-8");

2.PHP文件编码问题

点击编辑器的菜单:“文件”->“另存为”,可以看到当前文件的编码,确保文件编码为:UTF-8,如果是ANSI,需要将编码改成:UTF-8。

3.PHP文件头BOM问题:

PHP文件一定不可以有BOM标签,否则,会出现session不能使用的情况,并有类似的提示:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent

这是因为,在执行session_start() 的时候,整个页面不能有输出,但是当由于前PHP页面存在BOM标签,PHP把这个BOM标签当成是输出了,所以就出错了!

所以PHP页面一定要删除BOM标签

删除这个BOM标签的方法:

1.可以用Dreamweaver打开文件,并重新保存,即可以去除BOM标签!

2.可以用EditPlus打开文件,并在菜单“首选项”->“文件”->"UTF-8标识",设置为:“总是删除签名”,然后保存文件,即可以去除BOM标签!

4.PHP以附件形式保存文件的时候,UTF-8编码问题:

PHP以附件形式保存文件,文件名必须是GB2312编码,否则,如果文件名中有中文的话,将是显示乱码:

如果你的PHP本身是UTF-8编码格式的文件,需要将文件名变量由UTF-8转成GB2312:

iconv("UTF-8", "GB2312", "$filename");

5.截断显示文章标题时,出现乱码或者“?”问号的问题:

一般文章标题很长的时候,会显示一部分标题,会对文章标题进行截断,由于一个UTF-8编码格式的中文字符会占用3个字符宽度,截取标题的时候,有时会只截取到一个中文字符的1个字符或2字符宽度,没截取完整,将出现乱码或“?”问号的情况,用下面的函数截取标题,就不会有问题:

function get_brief_str($str, $max_length)
{
echo strlen($str) ."<br>";
if(strlen($str) > $max_length)
{
$check_num = 0;
for($i=0; $i < $max_length; $i++)
{
if (ord($str[$i]) > 128)
$check_num++;
}

if($check_num % 3 == 0)
$str = substr($str, 0, $max_length)."...";
else if($check_num % 3 == 1)
$str = substr($str, 0, $max_length + 2)."...";
else if($check_num % 3 == 2)
$str = substr($str, 0, $max_length + 1)."...";
}

return $str;
}

当前1/2页 12下一页阅读全文

时间: 2024-08-30 16:04:53

Web 开发中遇到的UTF-8编码的问题总结第1/2页_相关技巧的相关文章

.Net平台开发实践的一些点滴总结(技术规范与实践精华)第1/2页_实用技巧

以下是本人对.Net平台开发实践的一些点滴总结.这里的技术规范主要是开发过程的代码规范.数据库设计规范.Com和.Net互操作规范:实践精华是对技术实践过程中的部分总结. 一.代码规范 良好的代码风格来自于同一的代码规范.风格良好的代码不仅具备可读性和可维护性,同时也给人行云流水.赏心悦目之快感. 据Microsoft公司统计,基于微软平台的开发中,有70-80%的印度工程师在完成同类算法或者模块时,使用的代码基本一致:而相同的调查中只有20%的中国工程师们是基本一致的.这说明我们的代码生产过程

ASP.NET 页面中动态增加的控件、添加事件第1/2页_实用技巧

要求:页面上有一个Add按钮,每点击一次该按钮,页面上动态创建一个WebPartZone! 提醒:WebPartZone只能在OnInit或之前才能创建,否则报异常! 大家都知道,按钮的点击事件是在RaisePostbackEvent时触发的,这意味着点击事件在OnLoad阶段之后才执行,远远落后于 OnInit阶段,而且ViewState在OnLoad时才准备好,OnInit以及之前的阶段根本就不能使用ViewState!如果试图在按钮点击事件里面创建WebPartZone等控件,唯一的后果就

网站程序员如何应对web标准第1/2页_相关技巧

作者:jxdawei jxdawei的blog:http://www.iwcn.net/ 本文讨论的是在web标准普及的形势下,网站程序员的定位以及如何与设计师配合开发符合web标准的网站项目.本文适合的读者是传统TABLE布局下分工不是非常明晰的程序员. 1:学习web标准,让你的工作变得更加简单. web标准是大势所趋,所以作为网站程序员.你必须洗脑,必须去学习web标准.去重新认识html标签,去了解如何让程序输出页面需要的代码. 比如: 上边是美工出来的效果图,下边是符合标准的程序代码:

WEB设计技巧:Web开发中经常使用的网站和Web App

文章描述:Web用户体验师Jake Rocheleau撰写了一篇文章分享他在Web开发中经常使用的网站和Web App,其中包含各类字体库.代码库.插件库.配色方案和测试工具.他同时指出,Web开发环境将慢慢转向云端. Web用户体验师Jake Rocheleau撰写了一篇文章分享他在Web开发中经常使用的网站和Web App,其中包含各类字体库.代码库.插件库.配色方案和测试工具.他同时指出,Web开发环境将慢慢转向云端. CodeVisually是一个开源项目.在它的分类目录下有各种插件.

Ajax在进行web开发中的安全性分析

在进行web开发中ajax的安全性如何呢?现在浏览器允许用户提高他们的安全等级,关闭 JavaScript 技术,禁用浏览器中的任何选项.在这种情况下,代码无论如何都不会工作.此时必须适当地处理问题,这需要单独的一篇文章来讨论,要放到以后了(这个系列够长了吧?不用担心,读完之前也许您就掌握了).现在要编写一段健壮但不够完美的代码,对于掌握 Ajax 来说就很好了.以后我们还将讨论更多的细节. Ajax 世界中的请求/响应 现在我们介绍了 Ajax,对XMLHttpRequest对象以及如何创建它

WEB开发中Spring AOP实际应用一例

web   在WEB开发中,用户对网页的访问权限检查是一个重要的环节.以STRUST为例,我们需要在Action的excute方法中编写相关的代码(一般是调用基类的函数),也很显然,在每个Action中这是一种重复劳动. 如果我们在excute运行之前,能够自动去调用基类的权限检查函数,这无疑是个好的解决办法.AOP就为我们提供了这样一种解决方法. 下面以一个简化的实例介绍实现的办法. 首先我们做一个接口: public interface CheckInterface {  public ab

Asp.net,IBatis For .Net,DAOFactory在Web开发中的数据表示

asp.net|web|数据 摘要: 本文谈论的结合Asp.net,IBatis,DAOFactory谈Web开发中的数据表示,展现在ASP.Net开发中各层怎么来组织数据. IBatis For .Net是一个功能强大实用的SQL Map工具,不是ORM工具.它是将SQL语句映射成.NET对象,同时将这个.Net对象与ASP.NET页面中的数据(ASP.NET中Page DataSource我称之为FormBean吧(与J2EE中的FormBean不是同一个概念))结合起来,这样就可以达到这个

Web开发中如何管理ipad屏幕的方向变化

Web开发中,我们会遇到在手机垂直或水平视角时展示不同状态的情况.下面我来总结一下检测移动设备方向变化的一些方法. 1 使用javascript 直接看代码: <script type="text/javascript"> window.onorientationchange = function () { if ( orientation == 0 ) { alert ('Portrait模式, Home键在下边'); } else if ( orientation ==

WEB开发中图片格式的合理选择

从某种程度上说,判断一个网页设计师是否优秀,可以从其在WEB开发(或网页设计)中是否合理的采用各种图片格式得出结论.事实上,或许所有人都知道图片存在GIF,JPG和PNG等格式,但并非所有人都知道它们之间的具体区别和使用技巧. 接下来将给大家介绍:WEB开发中几种最受欢迎图片格式的前世今生以及如何正确的使用它们. 1.JPEG JPEG格式是一种大小与质量相平衡的压缩图片格式.通俗一点讲,就是:高的压缩比=低的图片质量=小的文件大小.反之,低的压缩比=高的图片质量=大的文件大小.由于JPEG文件