站长资源网络编程

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

整理:jimmy2024/5/17浏览2
简介主要有五个方面:一..HTML页面转UTF-8编码问题二.PHP页面转UTF-8编码问题三.MYSQL数据库使用UTF-8编码的问题四.JS相关的UTF-8编码问题五.FLASH相关的UTF-8编码问题一.HTML页面转UTF-8编码问题1.在后,前加入一行:</div> <div class="news_infos"><div id="MyContent"><P>主要有五个方面:</P> <P>一..HTML页面转UTF-8编码问题</P> <P>二.PHP页面转UTF-8编码问题</P> <P>三.MYSQL数据库使用UTF-8编码的问题</P> <P>四.JS相关的UTF-8编码问题</P> <P>五.FLASH相关的UTF-8编码问题</P> <P><STRONG>一.HTML页面转UTF-8编码问题</STRONG></P> <P>1.在<head>后,<title>前加入一行:</P> <P><meta http-equiv='Content-Type' content='text/html; charset=utf-8' /></P> <P>顺序不能错,一定要在<title>标签前加入,否则如果<title>与</title>之间有中文字符的话,显示的标题有可能是乱码!</P> <P>2.html文件编码问题:</P> <P>点击编辑器的菜单:“文件”->“另存为”,可以看到当前文件的编码,确保文件编码为:UTF-8,如果是ANSI,需要将编码改成:UTF-8。</P> <P>3.HTML文件头BOM问题:</P> <P>将文件从其他的编码转换成UTF-8编码时,有时候会在文件的最开始加上一个BOM标签,在个BOM标签可能会导致浏览器在显示中文的时候出现乱码。</P> <P>删除这个BOM标签的方法:</P> <P>1.可以用Dreamweaver打开文件,并重新保存,即可以去除BOM标签!</P> <P>2.可以用EditPlus打开文件,并在菜单“首选项”->“文件”->"UTF-8标识",设置为:“总是删除签名”,然后保存文件,即可以去除BOM标签!</P> <P>4.WEB服务器UTF-8编码问题:</P> <P>如果你按以上所列的步骤做了,还是有中文乱码问题,请检查你的所使用的WEB服务器的编码问题</P> <P>如果你使用的是Apache,请将配置文件里的:charset 设成:utf-8(这里仅列出方法,具体格式请参考apache的配置文件)。</P> <P>如果你使用的是Nginx,请将nginx.conf里的:charset   设成 utf-8,具体找到 "charset   gb2312;"或者类似的语句,改成:“charset   utf-8;”。</P> <P> <P><B></B></P> <P></P> <P><STRONG>二.PHP页面转UTF-8编码问题</STRONG></P> <P>1.在代码开始出加入一行:</P> <P>header("Content-Type: text/html;charset=utf-8");</P> <P>2.PHP文件编码问题</P> <P>点击编辑器的菜单:“文件”->“另存为”,可以看到当前文件的编码,确保文件编码为:UTF-8,如果是ANSI,需要将编码改成:UTF-8。</P> <P>3.PHP文件头BOM问题:</P> <P>PHP文件一定不可以有BOM标签,否则,会出现session不能使用的情况,并有类似的提示:</P> <P>Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent</P> <P>这是因为,在执行session_start() 的时候,整个页面不能有输出,但是当由于前PHP页面存在BOM标签,PHP把这个BOM标签当成是输出了,所以就出错了!</P> <P>所以PHP页面一定要删除BOM标签</P> <P>删除这个BOM标签的方法:</P> <P>1.可以用Dreamweaver打开文件,并重新保存,即可以去除BOM标签!</P> <P>2.可以用EditPlus打开文件,并在菜单“首选项”->“文件”->"UTF-8标识",设置为:“总是删除签名”,然后保存文件,即可以去除BOM标签!</P> <P>4.PHP以附件形式保存文件的时候,UTF-8编码问题:</P> <P>PHP以附件形式保存文件,文件名必须是GB2312编码,否则,如果文件名中有中文的话,将是显示乱码:</P> <P>如果你的PHP本身是UTF-8编码格式的文件,需要将文件名变量由UTF-8转成GB2312:</P> <P>iconv("UTF-8", "GB2312", "$filename");</P> <P>5.截断显示文章标题时,出现乱码或者“?”问号的问题:</P> <P>一般文章标题很长的时候,会显示一部分标题,会对文章标题进行截断,由于一个UTF-8编码格式的中文字符会占用3个字符宽度,截取标题的时候,有时会只截取到一个中文字符的1个字符或2字符宽度,没截取完整,将出现乱码或“?”问号的情况,用下面的函数截取标题,就不会有问题:</P> <P> function get_brief_str($str, $max_length) <BR>{ <BR>echo strlen($str) ."<br>"; <BR>if(strlen($str) > $max_length) <BR>{ <BR>$check_num = 0; <BR>for($i=0; $i < $max_length; $i++) <BR>{ <BR>if (ord($str[$i]) > 128) <BR>$check_num++; <BR>} <br><br>if($check_num % 3 == 0) <BR>$str = substr($str, 0, $max_length)."..."; <BR>else if($check_num % 3 == 1) <BR>$str = substr($str, 0, $max_length + 2)."..."; <BR>else if($check_num % 3 == 2) <BR>$str = substr($str, 0, $max_length + 1)."..."; <BR>} <br><br>return $str; <BR>} <BR> <strong>1</strong>2下一页阅读全文</div> </div> </div> <div class="share"> </div> <div class="nextinfo"> <p>上一篇:<a href="/3g/1/165662.html" title="PHP VBS JS 函数 对照表">PHP VBS JS 函数 对照表</a></p> <p>下一篇:<a href="/3g/1/165664.html" title="真伪静态区别方法分析">真伪静态区别方法分析</a></p> </div> <div class="otherlink"> <h2>最新资源</h2> <ul> <li><a href="/3g/1/611783.html" title="雷婷《梦里蓝天HQⅡ》 2023头版限量编号低">雷婷《梦里蓝天HQⅡ》 2023头版限量编号低</a></li> <li><a href="/3g/1/611782.html" title="韩红《青藏高原+红+韩红精选集》3CD[WAV分">韩红《青藏高原+红+韩红精选集》3CD[WAV分</a></li> <li><a href="/3g/1/611781.html" title="高胜美《经典金选》1991-1994  4CD[WAV整">高胜美《经典金选》1991-1994  4CD[WAV整</a></li> <li><a href="/3g/1/611780.html" title="【迷幻电音】AstralWaves-2023-Singles,R">【迷幻电音】AstralWaves-2023-Singles,R</a></li> <li><a href="/3g/1/611779.html" title="中唱唱片群星《好歌珍藏-游子情深》2CDWA">中唱唱片群星《好歌珍藏-游子情深》2CDWA</a></li> <li><a href="/3g/1/611778.html" title="张国荣.2011-极品天碟LPCD45II(雨果版)【">张国荣.2011-极品天碟LPCD45II(雨果版)【</a></li> <li><a href="/3g/1/611777.html" title="张学友《醒着做梦》[DFF][1.1G]">张学友《醒着做梦》[DFF][1.1G]</a></li> <li><a href="/3g/1/611776.html" title="刘惜君 《如我》[WAV分轨][403M]">刘惜君 《如我》[WAV分轨][403M]</a></li> <li><a href="/3g/1/611775.html" title="白玛多吉《梦》限量1:1母盘直刻[低速原抓">白玛多吉《梦》限量1:1母盘直刻[低速原抓</a></li> <li><a href="/3g/1/611774.html" title="魏金栋-金歌新曲-梦里全是桂花香2CD[天凡">魏金栋-金歌新曲-梦里全是桂花香2CD[天凡</a></li> </ul> </div> </div> <div class="sidebar"> </div> <div class="sidebar"> 友情链接:<a href="http://www.imxmx.com/" title="杰晶网络" target="_blank">杰晶网络</a> <a href="/" title="DDR爱好者之家" target="_blank">DDR爱好者之家</a> <a href="http://www.nqxw.com/" title="南强小屋" target="_blank">南强小屋</a> <a href="http://www.paidiu.com/" title="黑松山资源网" target="_blank">黑松山资源网</a> <a href="http://www.dyhadc.com/" title="白云城资源网" target="_blank">白云城资源网</a> </div> </article> <footer> <p>Design by <a href="http://m.ddrfans.com">DDR爱好者之家</a> <a href="/">http://m.ddrfans.com</a></p> </footer> <script src="/images3g/nav.js"></script> <script type="text/javascript"> jQuery.noConflict(); jQuery(function() { var elm = jQuery('#left_flow2'); var startPos = jQuery(elm).offset().top; jQuery.event.add(window, "scroll", function() { var p = jQuery(window).scrollTop(); jQuery(elm).css('position', ((p) > startPos) ? 'fixed' : ''); jQuery(elm).css('top', ((p) > startPos) ? '0' : ''); }); }); </script> </body> </html>