最近写了几个小程序,其中遇到了很多字符编码的问题,在这里总结一下

1、数据库中编码

数据库的编码一般在创建数据库时设置“整理”,当然创建表时也需要设置的,而且只要有中文汉字、标点都需要设置的,一般有GBK(和GB2312一样,双字节编码,但比GB2312字符更多)、UTF-8(国际通用编码,三字节编码形式),我写程序都会使用UTF-8,也就是说在使用UTF-8处理字符时要使用3的倍数。

数据库创建时“整理”的设置一般为“UTF-8 General”,在中间位置,有点不方便找。

数据库中的字符编码转换一般有设置数据写入的字符编码

mysql_query("SET NAMES 'UTF8';",$conn);

这里的 SET NAMES 'UTF8'是数据库设置编码写入的编码形式,通过这句,决定你的数据库中的编码为UTF-8,写入文件也为UTF-8编码(如果是GBK,这里要写成GBK)。

2.字符串编码

字符串的编码也是很常见的,比如做网页输出时,如果文本保存的编码(一般为Ascii和UTF-8)和字符串的编码不同时就会乱码,设置有时候涉及字符串的切割问题将不知取几的倍数。所以一般在编辑器中先设定编码为一个固定的,比如我装完编辑器最先做的就是更改字符编码为UTF-8,这样给以后的工作省去很多麻烦。

做过采集的人都知道,有时候最需要做的就是正则表达式、字符编码转换。这样的坎我也走过,其实就是一个编码的问题,难倒了我好半天。也就是采集过来的是GBK编码的文档,我没转换直接用带有中文字符的正则表达式去匹配,无论怎么匹配都匹配不到,怎么看都是正确的啊,那个纠结啊~~

这样的事屡见不鲜,其实只需要一个语句就够了

$sql = mb_convert_encoding($sql, "UTF-8", "GBK");//把GBK转换为UTF-8,千万别记混了

看明白了吧,就是中文字符编码和英文编码不一致造成的。其实转换编码还有一种语句,我没怎么用过,不知道这两个那个更好,但我更喜欢用 mb_convert 类的命令,下文说说mb_convert 类的函数怎么好用。

gb2312转换成utf-8

$utf=iconv('GB2312', 'UTF-8', $_REQUEST['keyword']);

两种任选一个。

php mysql 编码转换_PHP编码转换函数应用相关推荐

  1. php字符集编码转换,php编码转换_php编码转换函数

    摘要 腾兴网为您分享:php编码转换函数,云端学习,鱼乐贝贝,优品多多,一路捞等软件知识,以及天地图厦门,快剪辑app,java学习手册,酷狗2010,王者荣耀点券软件,xmart,有声小说软件,mp ...

  2. php中编码转换,php编码转换_php编码转换函数

    摘要 腾兴网为您分享:php编码转换函数,掌上书院,小熊到家,先游,淘集集等软件知识,以及大傻串口调试,轻写作,重装精灵,qq飞车开道具技巧,东奥会计,c语言源代码,dwg转pdf,变形战机2,弹弹堂 ...

  3. php psr 编码规范_PHP编码风格规范

    由于PHP的灵活性,很多人写起代码来也不讲求一个好的代码规范,使得本就灵活的PHP代码看起来很乱,其实PSR规范中的PSR-1和PSR-2已经定义了在PHP编码中的一些规范,只要我们好好遵守这些规范, ...

  4. linux字符串编码转换函数,Linux C++ 字符串 编码识别、编码转换

    最近在做一个类似垂直下载的爬虫系统.下载之后有个解析模块,解析之后要求编码一致的向后传入索引,便遇到了编码转换问题. 1. 编码的识别 推荐使用 libchardet, 可以在这个页面下载,使用说明就 ...

  5. python utf-8编码转换中文_python实现unicode转中文及转换默认编码的方法

    本文实例讲述了python实现unicode转中文及转换默认编码的方法.分享给大家供大家参考,具体如下: 一.在爬虫抓取网页信息时常需要将类似"\u4eba\u751f\u82e6\u77e ...

  6. python文件编码转换工具_python实现unicode转中文及转换默认编码的方法

    本文实例讲述了python实现unicode转中文及转换默认编码的方法.分享给大家供大家参考,具体如下: 一.在爬虫抓取网页信息时常需要将类似"\u4eba\u751f\u82e6\u77e ...

  7. python unicode码转换_python实现unicode转中文及转换默认编码的方法

    本文实例讲述了python实现unicode转中文及转换默认编码的方法.分享给大家供大家参考,具体如下: 一.在爬虫抓取网页信息时常需要将类似"\u4eba\u751f\u82e6\u77e ...

  8. python unicode编码转换中文_python实现unicode转中文及转换默认编码的方法

    本文实例讲述了python实现unicode转中文及转换默认编码的方法.分享给大家供大家参考,具体如下: 一.在爬虫抓取网页信息时常需要将类似"\u4eba\u751f\u82e6\u77e ...

  9. java 流 改变编码_Java-IO流之转换流的使用和编码与解码原理

    一.理论: 1.字符流和字节流区别是什么? 字符流=字节流+编码集,在实际读取的时候其实字符流还是按照字节来读取,但是会更具编码集进行查找编码集字典解析相应的字节,使得一次读取出一个字符: 2.什么是 ...

最新文章

  1. 弄清指针-如何深入了解指针
  2. c# enum 解析
  3. 张小龙“微信小程序之道”
  4. 在SQL Navigator 中做 oracle pl/sql SQL分析
  5. Java注解解析-搭建自己的注解处理器(CLASS注解使用篇)
  6. 前端学习(905):js执行机制
  7. 炸金花比牌规则java_陈陈来给你们炸金花的简易纸牌规则教学与心态指导
  8. 小米11系列有望提前亮相:最快年底相见
  9. livevent的几个问题
  10. Bailian4123 马走日【DFS】
  11. java飞机订票系统课程设计_JAVA数据结构课程设计,航空订票系统求助
  12. python网络爬虫网易云音乐guihub_GitHub - GreatV/CloudMusic-Crawler: 网易云音乐爬虫,数据可视化。...
  13. Win10开机黑屏进不了桌面
  14. 【软件质量】-01-缺陷严重等级定义
  15. 如何在命令行卸载mysql_如何彻底卸载MySQL
  16. 谷歌Mediapipe运行环境配置
  17. 一个网站的pv代表什么?
  18. i7处理器好吗_英特尔酷睿i5处理器和i7有什么区别
  19. 感谢读者朋友和网友对《Spring Boot实战派》的批评指正
  20. hive启动失败 显示:Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time

热门文章

  1. 完美的做图配色专辑,UI设计师赶紧收藏
  2. ithoughts怎么自定义样式_微信小程序自定义导航栏组件封装
  3. socket接收时信号量阻塞了会丢数据吗_浅谈Java网络编程——非阻塞I/O
  4. Windows监听进程是否退出C++
  5. cuSPARSE库:(十七)cusparseStatus_t 返回信息
  6. cuSPARSE库:(十五)已经弃用的函数(1)
  7. Linux内核深入理解定时器和时间管理(7):相关的系统调用
  8. 读写自旋锁详解:TODO
  9. 【编译制导指令】#pragma pack - 字节数基准对齐
  10. python global 变量_python global全局变量 模块通信问题