PHP 将Unicode中文编码转换成Utf8中文

以下方法可以将Unicode编码的中文转换成utf8编码的中文,且对原来就是utf8编码的中文没影响:

【摘自】http://crabdave.iteye.com/blog/2311836

微信接口开发——素材管理

在做微信素材管理接口开发时,有以下几点要注意:

①微信要求传递的数据类型为JSON,若数据中存在中文,在使用json_encode时要记得使用第二个参数( json_encode('包含中文的内容', JSON_UNESCAPED_UNICODE); ),否则中文被用unicode编码编译后,会变成一堆’u32…’的字符,使用时会有麻烦(微信不认识被unicode编码的中文)。

备注:只有PHP版本大于等于5.4版时,json_encode才支持第二个参数。

②上传永久性图文素材时,涉及到的图片media_id必须是通过以下‘上传永久性图片类型素材’接口得到的图片media_id,与‘上传临时图片的media_id’不同。

③上传永久性图片类型素材时,接口为‘http://api.weixin.qq.com/…’,官方文档中提到的‘http://file.api.weixin.qq.com/…’不正确。

屏幕快照 2015-04-14 下午6.45.28

 

④上传永久图文信息时,正常情况下,使用接口上传后,在微信后台可以看到图文式的内容,若微信编辑器无法识别html标签(即微信编辑器里都是些代码似的东西),可以考虑使用html_entity_decode()函数。(最后,提交json格式的数据时,使用json_encode(‘素材数组型内容’,JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE);)

具体测试方法是,使用var_dump()函数打印出在你的编辑器中录入的内容,若浏览器可以识别html标签,则正确;若不能,则在微信编辑器中也无法识别。对比如下

代码一: var_dump($item['content']);var_dump($item2['content']);exit;

效果一(微信编辑器也无法识别):

 

屏幕快照 2015-05-19 下午6.34.53

代码二: var_dump(html_entity_decode($item['content']));var_dump($item2['content']);exit;

效果二(微信编辑器可识别):屏幕快照 2015-05-19 下午6.37.27

【参考:】

关于json_encode: http://www.laruence.com/2011/10/10/2239.html

FileZilla使用注意事项

现象一:

有时上传包含中文的文件时,中文部分会变乱码,导致中文内容显示可能不正常。

解决方法:

修改FileZilla的“传输类型”。(不一定成功)

现象二:

频繁地使用FileZilla以本地文件覆盖服务器上的同名文件时,可能会出现重复提示覆盖或上传失败。

解决方法:

法一:重启FileZilla。(不一定成功)

法二:先删除服务器上的同名文件,再上传文件。(即不要让FileZilla提示替换同名文件)