如何用php设置utf-8编码?

如何用php设置utf-8编码?,第1张

你的源文件找到<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,需要设置页面编码,加一行代码:

header('Content-Type:text/htmlcharset=utf-8')

这样就把输出编码改为了UTF-8

但是,MySQL也要设置,那就是连接到数据库之后再加一行

mysql_query("SET

NAMES

`UTF-8`")

即可

当然,你得保证你的数据库的字符集是UTF-8

如果仍然出错,那就说明数据库的字符集配置有问题

header("Content-type: text/htmlcharset=utf-8")另外你的编辑器编码也要对应哦 a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/htmlcharset=gb2312"),静态页面添加,所有文件的编码格式为ANSI,可用记事本打开...


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

原文地址: http://outofmemory.cn/sjk/6802898.html

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

发表评论

登录后才能评论

评论列表(0条)

保存