zoukankan      html  css  js  c++  java
  • PHP编码转换函数应用

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

      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']);

      两种任选一个。


      

  • 相关阅读:
    【转载】FPGA算法设计随笔
    利用ZYNQ SOC快速打开算法验证通路(2)——数据传输最简方案:网络调试助手+W5500协议栈芯片
    学习笔记(二)——直方图均衡化和匹配
    学习笔记(一)——图像的灰度级和动态范围
    摄像头PIN脚功能作用
    详细的摄像头模组工作原理!!!
    图像处理资料分享
    图像处理大神
    gamma校正原理
    ISP基础一
  • 原文地址:https://www.cnblogs.com/picaso/p/2297695.html
Copyright © 2011-2022 走看看