PHP使用UTF8编码读取ACCESS的乱码问题解决方案

http://it.xwstudy.com/readnews.php?id=627

来源:本站编辑    发布日期:2013-05-27    已有 1790 人浏览过此信息

PHP搭配ACCESS是一个非常冷的话题,但是却有很多实用性,特别是从ASP转过来的程序员,对ACCESS有特殊的理解。学文培训在实际PHP培训中也会讲到ACCESS配合PHP的系统开发。那我们今天就来分享一下PHP+ACCESS的在实战开发中通常会遇到的UTF-8编码问题的解决方案。

PHP使用UTF8编码读取ACCESS数据库的乱码问题如何出现?

首先,PHP是一种国际化的编程语言,在使用时我们通常都会使用UTF-8编码。如果搭配MYSQL数据库,在MYSQL数据库中设置成UTF-8编码,读取时就不会出现任何问题了。

其次,ACCESS是一种微软公司开发的小型本地数据库,使用默认是本地的系统编码,简体中文系统使用的就是GBK编码。而且这个编码类型是不可更改的。

于是问题出现了!! UTF-8的PHP读取GBK的ACCESS,将数据显示在页面上的时候就会出现乱码。

当然,遇到这个问题也不用担心,在未写入数据的时候不会损坏数据库中的数据。接下来就是如何解决这个问题,解决方案如下:

一、使用 iconv函数制作一个转码的自定义从GBK转到UTF-8的函数,如以下代码:

function enc($c){return iconv('gbk','utf-8',$c);}

二、为了写入数据库的编码是符合数据库需要的,所以我们还要制作一个从UTF-8转向GBK的函数:

function dec($c){return iconv('utf-8','gb2312',$c);}

制作好了转码函数,接下就是正常使用了。在从数据库里面调数据显示在页面的时候使用enc()函数,从页面提交数据到数据库时使用dec()函数,这样就可以很好的解决PHP使用UTF-8编码,ACCESS使用系统默认编码的问题了。

PHP使用UTF8编码读取ACCESS的乱码问题解决方案(转)的更多相关文章

  1. Linux Centos7设置UTF-8编码,防止中文乱码

    Linux Centos7设置UTF-8编码,防止中文乱码 # localeLANG=zh_CN.gb2312LC_CTYPE="zh_CN.gb2312"LC_NUMERIC=& ...

  2. Excel 2007 打开 UTF-8 编码 CSV 文件的乱码BUG

    http://blog.sina.com.cn/s/blog_6c3b65fd01018dgq.html 打开UTF-8编码的CSV方法: 1) 打开Excel 2007 2) 执行“数据”-> ...

  3. linux 关于Apache默认编码错误 导致网站乱码的解决方案

    Apache默认编码UTF-8在解析A网站的时候没有任何问题,当运行B网站时出现的"蝌蚪文"乱码问题   最近经常有同学在使用LAMP/WAMP时,遇到这样的编码错误问题: A网站 ...

  4. 【Java文件】按UTF-8编码读取文本文件(逐行方式),排序,打印到控制台

    代码: package findJavaMemberFunction; import java.io.BufferedReader; import java.io.FileInputStream; i ...

  5. C# 读取oracle 中文乱码的解决方案

    用OracleDataAccess.dll访问oracle数据库,遇到中文乱码的情况. 解决方案如下: 1查看字符集编码, 在数据库服务器端 启动 sqlplus SQL->select use ...

  6. Java以UTF-8编码读写文件

    java中文件操作体现了设计模式中的装饰者模式 . 以utf-8编码写入文件: FileOutputStream fos = new FileOutputStream("test.txt&q ...

  7. 截取UTF-8编码的汉字,最后一个字出现乱码的问题

    问题描述 原来字串内容name为下面内容: ######name=杨乃文做DJ,微信公众号FunRadio.什么样的姿态是小丑姿态?2016046###### 需要截取成大小为64的name_rm[6 ...

  8. FileReader读取中文txt文件编码丢失问题(乱码)(转)

    有一个UTF-8编码的文本文件,用FileReader读取到一个字符串,然后转换字符集:str=new String(str.getBytes(),"UTF-8");结果大部分中文 ...

  9. Python读取UTF-8编码文件并使用命令行执行时输出结果的问题

    最近参加了由CCF举办的数据挖掘比赛,主办方提供了csv格式的数据文件,由于中文显示乱码的问题,我先用txt文本编辑器将编码改为utf-8格式,但是在读取文件并输出读取结果时发生了问题,代码如下: # ...

随机推荐

  1. demo: 全页面CSS3动画的一个参考例子

    全页面CSS3动画的一个参考例子: http://wow.blizzard.cn/wow/wod-achievement/ 魔兽的一个活动页 第二页.第三页,文字进入页面 <script src ...

  2. 47.纯 CSS 创作一个蝴蝶标本展示框

    html,body{ margin:; padding:; } body{ height: 100vh; display: flex; justify-content: center; align-i ...

  3. 《汇编语言 基于x86处理器》第八章高级过程部分的代码 - 两种规范计算数组元素的和

    ▶ 输入 Count 个 32 位有符号整数,计算他们的和 ● 代码,使用堆栈传参 ;// Sum_main.asm,主过程 INCLUDE Irvine32.inc EXTERN PromptFor ...

  4. ubuntu(更新所有软件[可更新])终端命令

    转载自https://blog.csdn.net/quite_cgy/article/details/70312034 (1)输入命令 (2)执行效果(由于已经更新完毕,因此显示所有软件包均为最新,否 ...

  5. template.js 数据渲染引擎

    template.js 数据渲染引擎 template.js是一款JavaScript模板引擎,用来渲染页面的. 原理:提前将Html代码放进编写模板 <script id="tpl& ...

  6. nginx 根据域名和地址跳转

    设置nginx变量 set $domail_url "$host$request_uri"; 判断并重定向if ($domail_url = '123.com/about/'){  ...

  7. Centos 7 安装 sphinx2.2 (转)

    一.首先到Sphinx官网找到下载地址:http://sphinxsearch.com/downloads/release/如果你比较懒,好吧:http://sphinxsearch.com/file ...

  8. WDA-6-EP系统管理/内容管理/用户管理

    主要是将EP端系统管理.内容管理.用户管理相关内容进行下梳理. 1.系统管理 1.1系统前景 1.2对象锁定 解锁相关对象 2.内容管理 2.1基本介绍 门户桌面-组件: 四大内容: iViews:可 ...

  9. CSS GRID ESSENTIALS

    CSS GRID ESSENTIALS Review At this point, we've covered a great deal of different ways to manipulate ...

  10. B树、B-树、B+树、B*树的定义和区分

    MySQL是基于B+树聚集索引组织表 B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right): 2.所有结点存储一个关键字: 3.非叶子结点的左指针指向小于其关键字的子树,右 ...