半知半觉地到了老而不肖的年纪,过往点滴,是有那么十数件要么心亏,要么愤慨,要么算了,要么绮望...诸等反复嚼陈的,选专业就是其一,写码刮不出水链会叹基础差,好多概念糊涂不清,要是有在计算机系挨过,是否捉窘就能少一些呢。
说起文件编码,打从业就没怎么关注过,乱码吗?用记事本打开二进制文件就见过,不打开不就见不到了吗;word,excel印象中就没遇到有;汉化软件乱码,本人认几百个英语单词还行,至于汉化得糟糟的工具呀,游戏啊,冲着安全和视觉期求,是避之不用的,做的一些小工具选择C#,autoit,python还没被卡在编码上。
说起php的编码,磕碰了数次,就此写写备忘一下。
php的编码,分文件的编码和解析的编码,正确显示中文的前提两者的编码要一致,例如文件另存时选择utf-8,php代码内就得标明
header("Content-Type:text/html;charset=utf-8");
或文件另存时选择gbk,就得标明
header("Content-Type:text/html;charset=gbk");
以此类推,如果时记事本另存,非utf-8的编码需选择ANSI保存。
html的head内的meta视解析器而论,如用php解析,就加不加都不影响php内的编码输出,因header已指定了输出编码。
进一步阐述,如php使用gbk或18030的编码,连接的是默认输出gb2312的中文版ms sql server数据库,可以正常显示中文字符,但要是php是utf-8的编码,就需要进行转换,
比如,输入的字符需从utf-8转成gb2312:
iconv("utf-8","gb2312",$sql);
输出到页面的查询结果又得从gb2312转成utf-8:
iconv("gb2312","utf-8",$got)
这个在有javascript回调显示时也是成立的。
标签:编码,php,utf,另存,gb2312,gbk,选用,PHP From: https://www.cnblogs.com/qiuwenzheng/p/18132931