关于制作网页时乱码的问题详解

关于制作网页时乱码的问题详解

很多朋友在制作网页时会遇到一个很头疼的问题,就是乱码问题,有时改改编码就解决了,那是运气不错,而有时无论如何也解决不了,那就没办法了。我在制作网页时也遇到了不少问题,最后实在受不了了,只好花了三天时间来仔细研究乱码问题,小有成果,在这里和大家分享一下。

乱码在我看来分三种情况:

1.html乱码。

2.javascript乱码

3.数据库乱码(我用的是mysql,其他也一样,操作数据库是直接用phpmyadmin操作)

网页设计基本就这三种情况。笔者不幸的全遇到了(这是巧合吗?坑啊),但幸运的是,在笔者阅读了大量相关资料以及对乱码原理深入理解后,已经将其全部解决。

注:无论哪种乱码问题,笔者在这里建议制作网页前就将数据库、页面编码统一为utf8或gb231。这是一种良好的习惯,这种习惯会减少不必要乱码问题的出现。

工具/原料

  • 你有一个Dreamweaver的话解决html乱码会很方便。(不是必须)
  • 你有一个Wamp的话,里面附带phpmyadmin,会让你解决数据库乱码很方便。(同样不是必须)

方法/步骤

  1. 1

    html乱码的解决

    1.你没有Dreamweaver的话:

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

    把这行代码复制到你的<head></head>之间,这会使你的网页打开时,浏览器默认编码为utf8,当然,建议你所有的网页编码统一,都设置为utf8,或者都设置为gb2312。

    2.如果你有Dreamweaver的话:

    你可以不必记住这行代码,因为Dreamweaver可以设置,如图:

    选择"页面属性"(上边的修改中也可以找到),选择"标题/编码",更改编码确保编码统一(建议统一为utf8或gb2312)

    选择统一编码后点击“应用”,Dreamweaver会自动将一行代码加入你的网页。

    但是记住,要统一编码。在你制作第一张网页时就这样设置,这样做的好处是你以后用Dreamweaver编辑的每一张网页都会自动统一编码

    关于制作网页时乱码的问题详解
    关于制作网页时乱码的问题详解
    关于制作网页时乱码的问题详解
  2. 2

    js乱码的解决

    这里js乱码是指由js制作的弹窗内容为乱码的情况,这种情况很头疼,但一般不会出现,如果出现,不好解决。

    1.若你的js弹窗内容出现乱码,首先检查原网页代码中的输出内容是否是乱码(由于乱改页面设置,导致本来的汉字变成乱码)

    2.如果你确保你的原网页代码中不是乱码,那么说明js输出内容与页面编码不符,这时我们应强制将输出内容转变编码与页面编码统一。

    强制转换编码的方法有很多,我这里使用php做到了这些

    <?php

    $ss=iconv("utf8" , "gb2312//IGNORE" , "你想输入的汉字") ;

    echo $ss;

    echo "<script language=javascript>alert('$ss');</script>";

    ?>

    这样做的好处是,无论网页编码是utf8还是gb2312,你的js弹窗内容都不会是乱码。但缺点也很明显,你的文件后缀名从.html需要改为.php(否则php不被编译),而且php执行占用服务器内存,但只是转换编码并不用担心消耗太多服务器内存。

  3. 3

    数据库乱码的解决

    这里数据库乱码是指

    1.插入正常数据后,数据库里显示乱码

    2.正常数据读取出在页面显示乱码

    3.建立数据库时数据库(表、字段)的编码有问题

    解决办法:

    1.插入数据库前将数据强行转换编码,与数据库统一。(这里笔者操作数据库所用的是php)

    <?php

    $ss=iconv("utf8" , "gb2312//IGNORE" , "你想插入的汉字数据") ;

    mysql_query("insert into 表名(字段名)  values(‘$ss’)");

    ?>

    这样在数据库内查看数据时,不会出现乱码。但如果你将页面编码与数据库编码统一的话,根本不会出现这种问题。

    2.正常数据读取出在页面显示乱码,首先检查数据库内容是否是乱码,如果是,参照方法1:“插入正常数据后,数据库里显示乱码”解决,这时数据库里数据正常,但页面输出仍是乱码,说明html编码有问题或不统一。参照“html乱码的解决“进行。

    3.你将页面调整统一编码,可数据库编码不统一,你又不想删除数据库重新建立。又嫌插入数据的地方太多,那怎么办,只好更改数据库编码了。

    打开phpmyadmin。如图,选择数据库的“操作”-->"整理",然后统一编码。

    更改数据库后再逐个检查数据表的“整理”,确认编码统一!!

    关于制作网页时乱码的问题详解
    关于制作网页时乱码的问题详解
    关于制作网页时乱码的问题详解
    关于制作网页时乱码的问题详解
    关于制作网页时乱码的问题详解
  4. 4

    这里是建立数据库时就统一编码的方法,如果早这么做就不会遇到乱码问题!!下一回记住了。在建表时就统一最方便了。

    关于制作网页时乱码的问题详解
    关于制作网页时乱码的问题详解
    关于制作网页时乱码的问题详解
    END

注意事项

  • 无论哪种乱码问题,笔者在这里建议制作网页前就将数据库、页面编码统一为utf8或gb231。这是一种良好的习惯,这种习惯会减少不必要乱码问题的出现。 
posted @ 2016-03-31 23:26  隐匿山猫  阅读(310)  评论(0编辑  收藏  举报