php设置数据库utf php数据库写入

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

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

成都创新互联公司是专业的章贡网站建设公司,章贡接单;提供成都做网站、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行章贡网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

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

header(”Content-Type: text/html; charset=UTF-8″)

php用UTF-8总结:

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

php要输出头:header(”Content-Type: text/html; charset=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设置的是UTF-8,数据库设置的是UTF8-general-ci,从页面发送数据给数据库后数据库显示的是乱码是为啥

试试把下面类似语句放到连接语句之后

mysql_query("SET NAMES UTF8");

或 PDO

$dbh-exe("SET NAMES UTF8");

用 SET NAMES UTF8 校正一下连接编码

因为PHP 连接数据库的过程中会经过三次编码转换,比如输出的的时候

MySql Server(UTF-8) - PHP Connection( Latin1) - UTF8页面的Result(UTF-8) 这时两种编码不兼容则产生乱码。

php访问mysql数据库时,读出的数据是问号!如何解决,设置的编码方式是utf-8

两边入手,

PHP,需要设置页面编码,加一行代码:

header('Content-Type:text/html;charset=utf-8');

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

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

mysql_query("SET

NAMES

`UTF-8`");

即可

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

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


本文标题:php设置数据库utf php数据库写入
分享地址:http://scyanting.com/article/doicoeg.html