我们推荐使用utf-8字符集,因为此字符集将所有字符都包含了进去,因此以后不会再担心字符表示不了的问题。

但是如何在团队开发重视全部参与编码的成员都保证自己的字符是utf-8编码的?我们需要考虑这些方面:开发工具的默认编码(也就是网页的编码),html中指定的编码,和php指定的编码,数据库的编码。

对于开发工具默认的编码,需要考虑美工的开发工具和编程人员的开发工具,最普遍的为dreamweaverzend studio,最一劳永逸的方式不是在每次保存时指定编码格式,而是在编程工具的选项或者是首选项中指定字符集编码,对于dreamweaver,打开编辑菜单,选择首选参数(或Ctrl+U),选择新建文档分类(如下),在默认编码中选择如图的utf-8,然后将下面的“当打开未指定的”,在unicode标准化表单中选择c类,但是不要选择下面的“包括unicode签名”,具体问什么,上面已经说了。这样在每次保存的时候,就默认保存为utf编码。

对于php开发人员,使用zend ,选择tool->preference…进入preference对话框,选择Desktop标签,然后在Encoding文本框中选择UTF-8.在进入Debug标签,从中选定define server out put encoding ,然后在后面的文本框中选择utf-8(这一步主要是为了在zend开发环境中调试而用)

html中指定的编码

保存的文本是utf-8的还不够,我们还需要在html中指定编码类型,具体有两种方法,可以任选其一:

Html代码方法:在标签中加入这一行:

Php代码方法:在输出任何数据之前,加入这行代码:header(‘content-type:text/html;charset=utf-8’);

两种方法任选其一。 

Php指定编码:

需要在连接好数据库后,加入如下一行代码,

$conn->query(‘set names \’utf8\’);

具体见第一部分问题解决。 

数据库的编码:

这里数据库的编码,指的是数据库中默认的编码默认的编码方式使用php的函数可以查看(连接数据库后,$charset=$conn->character_set(),也可以通过查看mysql系统变量来查看; $charset就是编码类型的信息)。设定数据库的默认编码方式是在mysql 程序文件的my.ini中修改如下的指令:

将所有的都改为:default-character-set=utf8

mysqld下面添加:default-collation=utf8_general_ci(其实这行不添加也可以,utf-8默认的就是这个)

可以参阅:http://phpbb-tw.net/phpbb/viewtopic.php?t=41148&highlight=&

但不要学着他将已经保存数据的表用alter进行转换。

 

 

评论
发表评论

您还没有登录,请登录后发表评论

xombat
搜索本博客
存档
最新评论