1.当你的MySQL回来的字符串的编码格局(字符集)与你的客户东西程序(mysql, php, query browser, .sanqingcha.faxingge.com..)当时使
用的字符集不一起,就会形成乱码。 比方一个英国兄弟通知你Long, 当一位中国小学生看到后就会通知你“龙”而不是“长
”.
2. MySQL中默许字符集的设置有四级:服务器级,数据库级,表级 。结尾是字段级 的字符集设置。注意前三种均为默
认设置,并不代码你的字段结尾会运用这个字符集设置。所以咱们主张要用show create table table ; 或show full fields
from tableName; 来检查当时表中字段的字符集设置。
MySQL中关于衔接环境的字符集设置有 Client端,connection, results 经过这些参数,MySQL就晓得你的客户端工
具用的是什么字符集,成果集大概是什么字符集。这样MySQL就会做必要的翻译,一旦这些参数有误,自然会致使字符
串在转输过程中的变换过错。基本上99%的乱码由些形成。
也即是说你能够用show create table tablename;/show full fields from tablename; ;来检查你的当时表中字段的字符
集。能够用show variables like "char%";来检查你的服务器级,数据库级,表级的默许字符集(能够用set names “[utf
-8/gbk/...]”;);然后你有必要将两种字符集设置成共同的字符集。破例,你的客户端东西的字符集也有必要与前面的字符
集设置成共同,这样就不会呈现中文输出乱码的疑问了。
浅显的讲:也即是你有必要设置共同的字符集。mysql(服务器级,数据库级,表级,字段级)和客户端东西(client,php
,results,...)的字符集有必要设置成共同共同的字符集(通常是"utf-8")。字符集描叙了共同的言语,只要言语共同了,才
不会呈现乱码。
我运用的是mysql+php+apache渠道。php代码从数据库中读取中文数据的时分呈现了乱码的疑问。如下操作能够处理
疑问:
(1).断定共同的字符集:show variables like "char%";看看mysql(服务器级,数据库级,表级)中默许的字符集,
能够用set names "[utf8/gbk/....]";来修正默许字符集,(通常改为utf-8)。
(2).检查所树立的表中字段的字符集,有必要在树立表之前先设置字符集是坚持共同性。树立后能够用show create
table tablename;/show full fields from tablename;来检查所树立的表中字段的字符集。
(3).客户端东西字符集的设置,有必要设置于前面字符集共同,
有两个当地需求设置
1. 数据库衔接:
$con=mysql_connect('localhost','root','1233333') die(mysql_error());
mysql_query('set names utf8',$con);
2./'>
or
紧记有必要设置MYSQL和客户端东西的字符集的共同性就OK了。
? 在 echo 函数中,可以同时输出多个字符串,而在 print 函数中则只可以同
时输出一个字符串。同时,echo函数并不需要圆括号,所以echo函数更像是语句而不像是函数。
? 字符串可以由单引号或双引号引出的字段定义。注意不同的是被单引号引出
的字符串是以字面定义的,而双引号引出的字符串可以被扩展。而且,在双引号字符串中可以使用反斜杠()在字符串中加入转义序列和转换字符。
? 有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或
者下划线。$a 是一个变量,$A 是不同于$a 的另一个变量。$a、$_a、$_a123_123_a 是合法变量,$123a 不合法。
? PHP 在变量定义中不需要明示的类型定义;变量类型是根据使用该变量的
上下文所决定的。也就是说,如果你把一个字符串值赋给变量 var,var 就成了一个字符串。如果你又把一个整型值赋给 var,那它就成了一个整数。 ? 同C 语言,PHP 是函数化语言,echo 关键字就是echo()函数的函数名,
echo $a 也可写为echo($a)或print($a)。
? print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string、
integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。记住,print_r() 将把数组的指针移到最后边。使用 reset() 可让指针回到开始处。
? 要表示一个单引号,需要用反斜线(\)转义;要表示一个反斜线,需要用两
个反斜线表示。
? 当用双引号指定字符串时,其中的变量会被解析。
如果遇到$,PHP 会尽可能多地取得后面的字符以组成一个合法的变量名。若要显示地指明变量名,用花括号把变量名括起来。 应明确双引号中变量名,以免发生变量解析错误。
$beer = 'TsingTao';
echo " $beer:中国啤酒名牌"; //出错,这里用的是中文冒号
echo " $beer : 中国啤酒名牌"; //正常工作,这里用的是中文冒号,但在冒号前加了个空格
echo " $beer: 中国啤酒名牌"; //正常工作,英文冒号: 是无效变量标识符 echo "$beer's taste is great"; //正常工作, 单引号’是无效变量标识符
echo "He drank some $beers"; //出错, 's' 是有效的变量标识符
echo "He drank some ${beer}s"; //正常工作,使用花括号强制指明变量名 echo "He drank some {$beer}s"; //正常工作,使用花括号强制指明变量名 ?>
? 如果方括号内没指定键名,则取当前最大整数索引值,新的键名将是该值 +
1。如果当前还没有整数索引,则键名将为 0。如果制定的键名已经有值了,该值将被覆盖。如:
// 有些键没有指定健名的数组
array(5 => 43, 32, 56, "b" => 12);
// 上数组等同于这个数组
array(5 => 43, 6 => 32, 7 => 56, "b" => 12);
?>
? list() 用一步操作给一组变量进行赋值。 list() 仅能用于数字索引的数组并假
定数字索引从 0 开始。
例: list() 例子
$info = array('张三', '男', '25 岁');
// 取出数组$info 中所有元素值,分别赋值到三个变量中
list($name, $sex, $age) = $info;
print "$name 是$sex 性,今年$age 岁\n";
//取出数组$info 中部分元素值,分别赋值到相应变量中
list( , , $age) = $info;
print "张三今年$age 岁\n";
?>
? 比较运算符 不等(!=或<>)
逻辑运算符 异或(xor)
连接赋值运算符 (“.=”)
? 字符串处理函数库
①int strlen (字符串名) – 得到字符串的长度
②substr()——截取子串
string substr (string string, int start [, int length] )
? explode()——将字符串拆分成数组
array explode ( string separator, string string)
此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 separator 作为边界点分割出来。如果 separator 为空字符串(""),explode() 将返回 FALSE。如果 separator 所包含的值在 string 中找不到,那么 explode() 将返回包含 string 单个元素的数组。
explode() 示例
// 示例 1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);//注意这里用空格作为分隔符,而不是空字符串 echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
?>
implode()——将数组元素联成字符串
string implode ( string glue, array pieces )
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
echo $comma_separated; // lastname,email,phone
?>
? floor -- 向下取整
语法格式:float floor ( float value )
返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float值的范围通常比 integer 要大。 例 floor() 例子
echo floor(4.3); // 4
echo floor(9.999); // 9
?>
ceil -- 向上取整
语法格式:float ceil ( float value )
返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float值的范围通常比 integer 要大。
例 ceil() 例子
echo ceil(4.3); // 5
echo ceil(9.999); // 10
?>
? session 变量存储的是个别浏览器端专用的数据。当用户浏览Web 站点时,
使用session 变量可以为每一个用户保存指定的数据。任何存储在用户session 变量中的数据可以在用户调用下一个页面时取得。实际应用中,在身份认证、操作监控、客户消费偏好跟踪等许多需要持续会话的场合,应用广泛。
一个学期的工作已经结束,收获不少,下面我对上学期的工作作一总结,为新学期的工作确立新的目标。在上一学期里,我在思想上严于律己,热爱…
20xx个人工作总结(苏江)时间一晃而过,转眼间到公司已经1月多了。这是我人生中弥足珍贵的一段经历。在这段时间里同事及领导们在工作…
第一章初识PHPbyhero团队1计算思维的本质抽象自动化可以概括为合理抽象高效算法主要过程包括问题抽象模型建立算法设计实现自动化…
PHP网站开发必用知识点总结函数一览开发必背魔术方法construct当实例化一个对象的时候这个对象的这个方法首先被调用destr…
调试插入时考虑清楚字段类型避免插入后出现缺值乱码屏蔽错误ordie条件显示以前学习php类的总结1php中不能重载但是能用子类覆盖…
20xx个人工作总结(苏江)时间一晃而过,转眼间到公司已经1月多了。这是我人生中弥足珍贵的一段经历。在这段时间里同事及领导们在工作…
一个学期的工作已经结束,收获不少,下面我对上学期的工作作一总结,为新学期的工作确立新的目标。在上一学期里,我在思想上严于律己,热爱…
Php缓存技术总结1.数据的文件缓存:这种方式是把数据库查询出来的数据做为缓存的内容,假如查询出来的数据是一个数组,我们可以将这个…
Abs取得绝对值Acos取得反余弦值adaafetch取得数据库的返回列adaautocommit开关自动改动功能adaclose…
Abs取得绝对值Acos取得反余弦值adaafetch取得数据库的返回列adaautocommit开关自动改动功能adaclose…