php乱码utf 8,PHP乱码问题,UTF-8(乱码) (share)

一.PHP页面转UTF-8编码问题

1.在代码开始出加入一行:

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

2.PHP文件编码问题

点击编辑器的菜单:“文件”->“另存为”,可以看到当前文件的编码,确保文件编码为:UTF-8,

如果是ANSI,需要将编码改成:UTF-8。

3.JS读Cookie的中文乱码问题

PHP写cookie的时候需要将中文字符进行escape编码, 否则JS读到cookie中的中文字符将是乱码。 但php本身没有escape函数,我们新写一个escape函数:

function escape($str) {

preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$r);

$ar = $r[0];

foreach($ar as $k=>$v) {

if(ord($v[0]) < 128)

$ar[$k] = rawurlencode($v);

else

$ar[$k] = "%u".bin2hex(iconv("UTF-8","UCS-2",$v));

}

return join("",$ar);

}

JS读cookie的时候,用unescape解码,然后就解决cookie中有中文乱码的问题了。

二.MYSQL数据库使用UTF-8编码的问题

1.用phpmyadmin创建数据库和数据表

创建数据库的时候,请将“整理”设置为:“utf8_general_ci” ,或执行语句:

CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

创建数据表的时候:如果是该字段是存放中文的话,则需要将“整理”设置为:“utf8_general_ci”,如果该字段是存放英文或数字的话,默认就可以了。

相应的SQL语句,例如:

CREATE TABLE `test` (

`id` INT NOT NULL ,

`name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,

PRIMARY KEY ( `id` )

) ENGINE = MYISAM ;

2.用PHP读写数据库

在连接数据库之后,加入两行:

mysql_query("set character set 'utf8'");//读库

mysql_query("set names 'utf8'");//写库

就可以正常的读写MYSQL数据库了。

节选自:http://www.cnblogs.com/rickyNote/archive/2012/04/09/2438704.html

source命令 导入&period;sql文件时,中文乱码 或者是注释乱码

1.source命令 导入.sql文件时,中文乱码 或者是注释乱码 首先进入dos命令,进入mysql数据库,之后use 数据库:之后查看你的mysql数据库编码 如下命令:模糊查询变量charact ...

ZTree async中文乱码,ZTree reAsyncChildNodes中文乱码,zTree中文乱码

ZTree async中文乱码,ZTree reAsyncChildNodes中文乱码,zTree中文乱码 >>>>>>>>>>>&g ...

Zabbix图表中文乱码&lpar;包含Docker安装乱码&rpar;

目录 Zabbix 4.0 版本 Zabbix 3.0 版本 Zabbix 4.0 Docker 版本 图表乱码问题解决 文章github 地址: 点我 最近在看 Zabbix 4.0 版本的官方文档 ...

SpringMVC &plus; mybatis &plus; Druid insert 数据库中文乱码,查询无乱码

之前一直在pom文件配置的数据库连接url,很多配置都写在pom文件中导致配置文件太长 新项目将配置写到不同的文件夹中得properties文件中了 db.url直接复制的pom文件中的 p.p1 { ...

HttpClient&lowbar;002&lowbar;中文乱码、HttpClient中文乱码透析、总结

中文乱码原理代码: String s = "中文"; byte[] bs2 = s.getBytes("utf-8");//将s拆成:utf-8个体,注:utf ...

myeclipse中文乱码,JSP页面乱码

一.设置新建常见文件的默认编码格式,也就是文件保存的格式.在不对MyEclipse进行设置的时候,默认保存文件的编码,一般跟简体中文操作系统(如windows2000,windowsXP)的编码一致, ...

Python 抓取网页乱码问题 以及EXCEL乱码

import codecs f1=codecs.open('items.json', 'r', encoding='utf-8').read().decode("unicode_escape ...

Eclipse 导入项目乱码问题(中文乱码)

1.编码不对 a.对某文件或某工程更改编码:   鼠标移到工程名或文件名,右键->Properties->Resource->Text file enCoding ->更改编码 ...

plsql部分字段中文乱码,sqlplus中文乱码

PLSQL中文乱码 问题: 解决: 思路1:设置 export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" 结果:并不能解决问题!   ...

随机推荐

ubuntu学习的简单笔记

l vi编辑器开发步骤 A)输入 vi Hello.java B) 输入 i 插入模式. C)输入 冒号.[保存退出:wq][退出不保存:q!] l 列出当前目录的所有文件:ls 详细信息的列表:ls ...

&lpar;八&rpar;Eclipse创建Maven项目运行mvn命令

1.Eclipse创建Maven项目 使用Eclipse创建一个Maven项目非常的简单,选择菜单项File>New>Other(也可以在项目结构空白处右击鼠标键),在弹出的对话框中选择M ...

小菜学习设计模式(一)—模板方法(Template)模式

前言 设计模式目录: 小菜学习设计模式(一)—模板方法(Template)模式 小菜学习设计模式(二)—单例(Singleton)模式 小菜学习设计模式(三)—工厂方法(Factory Method) ...

ubuntu频繁掉线 转

好长好长时间没来百度空间了,最近闲来无事,正好弥补之前的空缺了!跟Ubuntu打交道已有很长一段时间了,期间遇到了很多问题,我把遇到的一些问题及找到的解决方案记录下来,我想这可能会对那些跟我有同样境遇 ...

POJ-1088 滑雪 (包含部分自用测试数据)

这题最简单的想法是深搜+记录,由于数据量比较小.这么做可以AC.如果在h大的情况下这种递归方法总会有一些问题. 如果转换一下,这个可以使用递推来解决,先对高度进行由低到高的排序,然后顺序对这些高度计算 ...

无法使用Django新建项目:&amp&semi;&num;39&semi;django-admin&period;py&amp&semi;&num;39&semi;不是内部或外部命令

问题: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXlhdGxhbnRpcw==/font/5a6L5L2T/fontsize/400/fill/I0 ...

oracle分组-神奇的cube和rollup

先看代码: 表结构如下: emp表 EMPNO                                     NOT NULL NUMBER(4) ENAME                 ...

RQNOJ 201 奥运大包围:LIS &plus; 拼链成环

题目链接:https://www.rqnoj.cn/problem/201 题意: 开始时n(n<=1000)个人手拉手围成一个圈. 后来这些人中的一些按顺序向里面出圈形成一个新圈.从而使原圈形 ...

Docker学习实践 - Docker安装MySql数据库

Docker安装MySQL数据库 1.Ubuntu安装MySQL安装 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libnc ...

Python如何发布程序

https://blog.csdn.net/wem603947175/article/details/81589729

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值