php把u5c0fu533au7eff乱码转换成中文
代码如下
\u5c0f\u533a\u7eff\u5316\u5f88\u4e0d\u9519|||\u4e8c\u671f\u4ec0\u4e48\u65f6\u5019\u4ea4\u623f\u7684|||\u4e8c\u671f\u4ea4\u623f\u4e86|||\u548c\u683c\u6797\u4e91\u5885\u79bb\u5f97\u5f88\u8fd1|||\u5730\u7406\u4f4d\u7f6e
上面代码有人能看懂吗?我估计没人了,我知道是json了所以取一段出来测试
代码如下 | 复制代码 |
echo json_decode('u683c\u8fd8\u4e0d\u9519'); |
发现什么出没有输入,后来想这个不是标准json我们可以使用一个数组再转换看一下
代码如下 | 复制代码 |
$array =array('u683c\u8fd8\u4e0d\u9519'); 得到结果是 ["u683c\\u8fd8\\u4e0d\\u9519"] |
这不是标准json格式数据吧,于时我再进一步解析
代码如下 | 复制代码 |
$array = json_decode('["\u4e8c\u671f\u4ec0\u4e48\u65f6\u5019\u4ea4\u623f\u7684"]'); print_r($array ); ( |
是乱码呀,这个我估计是编码问题,我知道json转换编码是uft8的而我页面是gbk了,于时找到iconv函数
代码如下 | 复制代码 |
$array = json_decode('["\u4e8c\u671f\u4ec0\u4e48\u65f6\u5019\u4ea4\u623f\u7684"]'); echo iconv('utf-8','gbk',$array[0]); |
得出结果是
二期什么时候交房的
这样就成功把乱码转换成中文了哦,大家试一下
本站原创教程:转载注明来源http://www.111cn.net
我们在很多的公共网站中都会有碰到显示用户的IP时后面几个IP段显示为星号了,这样很好的保护了用户隐私了,下面我总结了些例子,大家看看吧。php正则格式化IP地址,隐藏后一位。
例子
代码如下 | 复制代码 |
<?php |
例子
php实现隐藏Ip地址最后一段或者最后两段的方法
代码如下 | 复制代码 |
<? //--隐藏IP后几位 $ip='127.0.0.1'; $reg1='/((?:\d+\.){3})\d+/'; $reg2='~(\d+)\.(\d+)\.(\d+)\.(\d+)~'; echo preg_replace($reg1,"\\1*",$ip);//以上输出结果为:127.0.0.* echo "------------------<br/>"; echo preg_replace($reg2,"$1.$2.*.*",$ip);//以上输出结果为:127.0.*.* ?> |
例子
代码如下 | 复制代码 |
function suohao($phone){ |
当然还有像数组以.分开之后把数组2,3进行替换就可以了或组合0,1数组就可以了。
页面缓存在有的时候是不需要的,我们可以禁止浏览器缓存页面,下面来介绍利用php禁止浏览器使用缓存页面例子。在PHP中可以轻松的使用下面的语句实现禁止页面缓存,但比较难记特整理下,方便大家使用。
php代码
代码如下 | 复制代码 |
<? php // 设置此页面的过期时间(用格林威治时间表示),只要是已经过去的日期即可。 // 设置此页面的最后更新日期(用格林威治时间表示)为当天,可以强制浏览器获取最新资料 ?> |
这对于某些页面来说是很有用的,例如:单信息以及订单下的商品,并且清空购物车对应商品数据。
肯定不希望用户到了最后一个页面,都已经生成订单了,再点浏览器的返回按钮回到前一个页面。
那么在订单地址页面加入:
代码如下 | 复制代码 |
header("Cache-Control:no-cache,must-revalidate,no-store"); //这个no-store加了之后,Firefox下有效 |
这个页面不缓存了,并且有个判断购物车商品为空就跳转到空购物车的页面,那么用户点击浏览器后退,回来之后,也直接到 购物车页面了。
微信公众号开发代码我在网上看到了有不少,其实都是大同小义了都是参考官方给出的demo文件进行修改的,下面给各位分享一个。初次接触的时候写的一些,有点乱…也没去整理…
ps–最近都不想工作了,各种烦,午饭也没吃,就是想表达一下我过的不好。–请忽略个人情绪往下看。
代码如下 | 复制代码 |
<?php * |
这是magento脚本的另外一种写法。
个人觉得写的还行,高手莫见笑。
用SplFileObject来处理大数据的csv文件效率高
代码如下 | 复制代码 |
<?php require_once 'shell/abstract.php'; class Faarao_Import_Customer extends Mage_Shell_Abstract { protected $_files = array(); protected $_datas = array(); public function __construct() { parent::__construct(); set_time_limit(0); if($this->getArg('file')) { $this->_files = array_merge( $this->_files, array_map( 'trim', explode(',', $this->getArg('file')) ) ); foreach ($this->_files as $key=>$file) { $extension = self::get_extension($file); if($extension != 'csv'){ unset($this->_files[$key]); } } } if(empty($this->_files)){ die(self::usageHelp()); } } // Shell script point of entry public function run() { self::getDataFromCsv(); if(empty($this->_datas)){ die("not found data in csv ! \r\n"); } $emailBooks = array(); foreach ($this->_datas as $name => $datas) { echo "filename: {$name} =======================\r\n"; $importNum = 0; foreach ($datas as $key => $data) { if(empty(trim($data[4]))){ continue; } $customerData['firstname'] = trim($data[0]); $customerData['lastname'] = trim($data[1]); $customerData['phone'] = trim($data[2]); $customerData['mobile'] = trim($data[3]); $customerData['email'] = trim($data[4]); $customerData['company'] = trim($data[5]); $customerData['billing_address'] = $data[6] . $data[7] . $data[8]; $customerData['billing_postcode'] = sprintf("%05d",trim($data[9])); $customerData['billing_city'] = trim($data[10]); $customerData['billing_country'] = trim($data[11]); $customerData['shipping_address'] = $data[12] . $data[13] .$data[14]; if(empty($data[15]) && is_numeric($data[16])){ $customerData['shipping_postcode'] = sprintf("%05d",trim($data[16])); $customerData['shipping_city'] = trim($data[17]); $customerData['shipping_country'] = trim($data[18]); }else{ $customerData['shipping_postcode'] = sprintf("%05d", trim($data[15]));; $customerData['shipping_city'] = trim($data[16]); $customerData['shipping_country'] = trim($data[17]); } // $customerData['email'] = 'zouhongzhao@126.com'; $customerData['country'] = 'Finland'; $customerData['password'] = self::randomkeys(10); echo "customer email {$customerData['email']} ...\r\n"; print_r($customerData); $customer = Mage::getModel('customer/customer'); $customer->setWebsiteId(Mage::app()->getWebsite()->getId()); $customer->loadByEmail($customerData['email']); if(!$customer->getId()) { echo "insert ... \r\n"; $customer->setEmail($customerData['email']); $customer->setFirstname($customerData['firstname']); $customer->setLastname($customerData['lastname']); $customer->setPassword($customerData['password']); }else{ echo "update ... \r\n"; } try { $customer->save(); $customer->setConfirmation(null); $customer->save(); //Make a "login" of new customer Mage::getSingleton('customer/session')->loginById($customer->getId()); $importNum ++; $emailBooks[$customerData['email']] = array( 'firstname'=>$customerData['firstname'], 'lastname'=>$customerData['lastname'], 'customer_mage_id'=>$customer->getId(), 'passwd'=>$customerData['password'] ); echo "customer save ok !\r\n"; } catch (Exception $ex) { echo "customer save fail !\r\n"; continue; } if(trim($customerData['billing_address']) == trim($customerData['shipping_address']) && $customerData['billing_postcode'] == $customerData['shipping_postcode'] && $customerData['billing_city'] == $customerData['shipping_city']){ $same_address = array ( 'firstname' => $customerData['firstname'], 'lastname' => $customerData['lastname'], 'street' => $customerData['billing_address'], 'company' => $customerData['company'], 'city' => $customerData['billing_city'], 'region_id' => '', 'region' => '', 'postcode' => $customerData['billing_postcode'], 'country_id' => 'FI', 'telephone' => $customerData['phone'], ); $customAddress = Mage::getModel('customer/address'); //$customAddress = new Mage_Customer_Model_Address(); $customAddress->setData($same_address) ->setCustomerId($customer->getId()) ->setIsDefaultBilling('1') ->setIsDefaultShipping('1') ->setSaveInAddressBook('1'); try { $customAddress->save(); echo "sameAddress save ok !\r\n"; } catch (Exception $ex) { echo "sameAddress save fail !\r\n"; continue; } }else{ $billing_address = array ( 'firstname' => $customerData['firstname'], 'lastname' => $customerData['lastname'], 'street' => $customerData['billing_address'], 'company' => $customerData['company'], 'city' => $customerData['billing_city'], 'region_id' => '', 'region' => '', 'postcode' => $customerData['billing_postcode'], 'country_id' => 'FI', 'telephone' => $customerData['phone'], ); self::setBillingAddress($billing_address,$customer); $shipping_address = array ( 'firstname' => $customerData['firstname'], 'lastname' => $customerData['lastname'], 'street' => $customerData['shipping_address'], 'company' => $customerData['company'], 'city' => $customerData['shipping_city'], 'region_id' => '', 'region' => '', 'postcode' => $customerData['shipping_postcode'], 'country_id' => 'FI', 'telephone' => $customerData['phone'], ); self::setShippingAddress($shipping_address,$customer); } // die; } echo "import num: {$importNum} =======================\r\n"; } //save passwd $fp = fopen('customer_record.log', 'w'); fwrite($fp, json_encode($emailBooks)); fclose($fp); } public function setBillingAddress($data,$customer){ $customerAddress = Mage::getModel('customer/address'); if ($defaultShippingId = $customer->getDefaultBilling()){ $customerAddress->load($defaultShippingId); } else { $customerAddress ->setCustomerId($customer->getId()) ->setIsDefaultBilling('1') ->setSaveInAddressBook('1') ; $customer->addAddress($customerAddress); } try { $customerAddress ->addData($data) ->save() ; echo "BillingAddress save ok !\r\n"; } catch(Exception $e){ // Mage::log('Address Save Error::' . $e->getMessage()); echo "BillingAddress save fail !\r\n"; } } public function setShippingAddress($data,$customer){ $customerAddress = Mage::getModel('customer/address'); if ($defaultShippingId = $customer->getDefaultShipping()){ $customerAddress->load($defaultShippingId); } else { $customerAddress ->setCustomerId($customer->getId()) ->setIsDefaultShipping('1') ->setSaveInAddressBook('1') ; $customer->addAddress($customerAddress); } try { $customerAddress ->addData($data) ->save() ; echo "ShippingAddress save ok !\r\n"; } catch(Exception $e){ // Mage::log('Address Save Error::' . $e->getMessage()); echo "ShippingAddress save fail !\r\n"; } } public function randomkeys($length) { $returnStr=''; $pattern = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLOMNOPQRSTUVWXYZ'; for($i = 0; $i < $length; $i ++) { $returnStr .= $pattern {mt_rand ( 0, 61 )}; } return $returnStr; } public function getDataFromCsv(){ $this->_files = array_unique($this->_files); $csvCustomers = array(); foreach ($this->_files as $filename) { echo "current file: {$filename}\r\n"; setlocale(LC_ALL, 'en_US.UTF-8'); $content = file_get_contents($filename); $data = mb_detect_encoding()($content, 'UTF-8', true); // $data = iconv("CP1257","UTF-8", $content); file_put_contents($filename, $content); // fclose($handle); // print_r($content);die; $basename = basename($filename,".csv"); $data = array(); $tmp = array(); $spl_object = new SplFileObject($filename, 'rb'); $spl_object->seek(filesize($filename)); $start = 0; $num = $spl_object->key(); $spl_object->seek($start); while ($num-- && !$spl_object->eof()) { $data[] = $spl_object->fgetcsv(); $spl_object->next(); } foreach ($data as $key => $values) { if($key == 0){ continue; } $mergeValue = explode(';',implode(';', $values)); // if(count($mergeValue) != 20){ // continue; // } array_push($tmp,$mergeValue); } $this->_datas[$basename] = $tmp; } return $this; } public function get_extension($filename){ return pathinfo($filename,PATHINFO_EXTENSION); } // Usage instructions public function usageHelp() { return <<<USAGE Usage: php tetuan_customer_import.php --file a.csv,b.csv \n USAGE; } } // Instantiate $shell = new Faarao_Import_Customer(); // Initiate script $shell->run(); |
补充:有一些朋友使用的是excel文档,这样这个程序就不可以使用了,我们可以使用phpexcel插件来读取excel文件并写入到数据库中去哦。
相关文章
- 最近做了个扫描二维码得到vcard的项目,遇到一个问题,有一部分生成完的二维码,用android系统手机扫描后得到的vcard中的中文姓名是乱码,经过比对发现,这部分vcard中ORG这个...2016-11-25
js URLdecode()与urlencode方法支持中文解码
下面来介绍在js中来利用urlencode对中文编码与接受到数据后利用URLdecode()对编码进行解码,有需要学习的机友可参考参考。 代码如下 复制代码 ...2016-09-20使用PHP+JavaScript将HTML页面转换为图片的实例分享
这篇文章主要介绍了使用PHP+JavaScript将HTML元素转换为图片的实例分享,文后结果的截图只能体现出替换的字体,也不能说将静态页面转为图片可以加快加载,只是这种做法比较interesting XD需要的朋友可以参考下...2016-04-19- 在开发过程中,我们经常会将日期时间的毫秒数存放到数据库,但是它对应的时间看起来就十分不方便,我们可以使用一些函数将毫秒转换成date格式。 一、 在MySQL中,有内置的函数from_unixtime()来做相应的转换,使用如下: 复制...2014-05-31
- 这篇文章主要介绍了Javascript类型转换的规则实例解析,涉及到javascript类型转换相关知识,对本文感兴趣的朋友一起学习吧...2016-02-27
- 今天小编在这里就来给美图秀秀的这一款软件的使用者们来说下把普通照片快速转换成卡通效果的教程,各位想知道具体制作步骤的使用者们,那么下面就快阿里跟着小编一起看一...2016-09-14
- 今天在写一个vbs的时候,发现中文乱码,后来写好代码正常运行的代码压缩一下给了同事,发现报无效字符,经过验证后发现原来是编码的问题导致,这里就为大家分享一下...2020-06-30
关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)
最近两天做项目总是被乱码问题困扰着,这不刚把mysql中文乱码问题解决了,下面小编把我的解决方案分享给大家,供大家参考,也方便以后自己查阅。首先:用show variables like “%colla%”;show varables like “%char%”;这两条...2015-11-24- 这篇文章主要介绍了C#读取中文文件出现乱码的解决方法,涉及C#中文编码的操作技巧,非常具有实用价值,需要的朋友可以参考下...2020-06-25
- 我们自己鼓捣mysql时,总免不了会遇到这个问题:插入中文字符出现乱码,虽然这是运维先给配好的环境,但是在自己机子上玩的时候咧,总得知道个一二吧,不然以后如何优雅的吹牛B。...2015-03-15
- 在debian环境下,彻底解决mysql无法插入和显示中文的问题Linux下Mysql插入中文显示乱码解决方案mysql -uroot -p 回车输入密码进入mysql查看状态如下:默认的是客户端和服务器都用了latin1,所以会乱码。解决方案:mysql>use...2013-10-04
- 一.mysql默认不支持中文,它的server和db默认是latin1编码.所以我们要将其改变为utf-8编码,因为utf-8包含了地球上大部分语言的二进制编码 1.关闭mysql服务 sudo /etc/init.d/mysql stop 2.修改mysql配置文件 mysql配...2015-10-21
- 小编分享了一段简单的php中文转拼音的实现代码,代码简单易懂,适合初学php的同学参考学习。 代码如下 复制代码 <?phpfunction Pinyin($_String...2017-07-06
- 在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它。这个函数的功能是将数值转换成json数据存储格式。<?php$arr = array ( 'Name'=>'希亚', 'Age'...2015-11-08
- 本篇文章是对C#中数据类型转换的几种形式进行了详细的分析介绍,需要的朋友参考下...2020-06-25
- 这篇文章主要为大家详细介绍了JavaScript实现数据类型的相互转换,感兴趣的朋友可以参考一下...2016-03-09
- 这篇文章主要介绍了JavaScript实现Base64编码转换的相关资料,非常简单实用,需要的朋友可以参考下...2016-04-25
- 这篇文章主要介绍了Java连接数据库oracle中文乱码解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-05-16
PHP编码转换函数mb_convert_encoding与iconv用法
文章来实现一个PHP编码转换函数mb_convert_encoding与iconv用法,希望例子能帮助到各位。 将一个短信接口代码从apache迁移到nginx+php-fpm后,发现无法发出短信了,查...2016-11-25- 这篇文章主要介绍了c#的类型转换详解,类型转换分两种形式:隐式转换、显示转换,下面是详细介绍...2020-06-25