怎样设置php的编码格式为utf-8

怎样设置php的编码格式为utf-8,第1张

在 PHP 编写过程中,一般需要注意的是三种编码:

1、网页字符编码

2、文件字符编码

3、数据库字符编码

只有上面3种编码的格式都一致的情况下,才会尽可能的避免乱码的出现。

二、如何使用Notepad++软件设置UTF-8编码:

用 Notepad++ 软件打开指定的 php 文档后,在“格式”菜单下找到“以UTF-8格式编码"

以xxx编码的意思是不强制转换文件的编码,仅仅以某种编码来查看,不会对文件进行修改,这对打开某个文件发现都是乱码时非常实用。

转为xxx编码的意思就是将文件内容强制转换为某种编码,这对于本来看到的就不是乱码但需要调整右下角的文件编码时非常好用。

在你的源文件找到<meta http-equiv="content-type" content="text/htmlcharset=utf-8">charset= 后面接的就是编码,你全部改了就可以了。如果你改了之后变成乱码的话,那你就只能先建一个utf-8编码的网页,把相应的内容重新输入进去。

要输出UTF8格式时,加上以下语句:

header(”Content-Type: text/htmlcharset=UTF-8″)

php用UTF-8总结:

php文件本身必须是UTF-8编码。不像Java会生成class文件,避免这个问题

php要输出头:header(”Content-Type: text/htmlcharset=UTF-8″)

meta标签无所谓,有header所有浏览器就会按header来解析

所有外围都得用UTF8,包括数据库、×.js、×.css(CSS影响倒不大)

php本身不是Unicode的,所有substr之类的函数得改成mb_substr(需要装mbstring扩展);或者用iconv转码(基本上的linux都装了,没装的话download、tar、make、make install,很简单的)

my.ini:

[MySQL(和PHP搭配之最佳组合)]

default-character-set=utf8

[MySQL(和PHP搭配之最佳组合)d]

default-character-set=utf8

default-storage-engine=MyISAM

在[MySQL(和PHP搭配之最佳组合)d]下加入:

default-collation=utf8_bin

init_connect='SET NAMES utf8'

在需要做数据库 *** 作的php程序前面加上

mb_internal_encoding('utf-8')

create table最后边加上ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin

phpMyAdmin/config.inc.php

$cfg['DefaultCharset'] = 'utf-8'

$cfg['RecodingEngine'] = 'iconv'

phpAdmin导出数据时

把"二进制区域使用十六进制显示"的勾去掉

特别郁闷的:文件系统函数不支持UTF-8!

与 php 编码有关的,有两处地方:

1、php 文件本身的编码格式:

根据使用 php 编写软件的不同,其 *** 作方法有所区别,比如 phpDesigher 软件:

2、php 文件内容里,需要设置供浏览器进行解析时需要的编码格式:

在 PHP 文件代码里,插入

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

相当于 html 的

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


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6312823.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-20
下一篇 2023-03-20

发表评论

登录后才能评论

评论列表(0条)

保存