PHP读取Access数据库 出乱码

PHP读取Access数据库 出乱码,第1张

access的中文版默认是GBK格式的,是无法改变字符类型的,所以用php读取的时候会乱码

解决方法是:使用iconv转换

一、使用 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使用系统默认编码的问题了。

access插入的值出现乱码,把编码方式转换为“iso-8859-1”的,显示的中文数据就不是乱码了。原因可能是access数据库,中文需要的是iso-8859-1的编码方式。所以需要转换下。

如下转换:

①String test = request.getParameter("txpage")

②String page=new String(test.getBytes("iso-8859-1"),"utf-8")

将要插入①中定义的名为:test数据,通过②的样式转换为新的String类型(把test数据当前网页的“utf-8”编码,转换为“iso-8859-1”编码。)

然后插入②中的page的数据到数据库,应该没乱码了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6706018.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存