Brophp框架开发时连接数据库读取UTF8乱码的解决(转)

Brophp框架开发时连接数据库读取UTF8乱码的解决办法

(2012-09-15 10:41:22)

转载▼

标签:

杂谈

it

php

分类: 建站技术

Brophp框架开发时连接数据库读取UTF8乱码的解决
用brophp框架读取数据库的时候发生乱码,数据库和源码都采用的utf-8编码,按理说不应该出现乱码的。仔细分析应该是出在数据连接时,后来看到一个高手的解答总算弄明白了。英文正常读取而中文乱码,基本上都是字符集的问题。要在PHP端发送set names utf8.声明和数据库握手的时候也使用utf8字符集了。

如果是用pdo连接的修改下在dpdo.class.php就完全解决了

短连接下可以这样修改:
$pdo=new PDO($dsn, USER, PASS, array(PDO::ATTR_PERSISTENT=>false,MYSQL_ATTR_INIT_COMMAND => "SET NAMES ‘utf8‘;"));

BORPHP用的是长连接可以参照下面修改

$pdo=new PDO($dsn, USER, PASS, array (PDO::ATTR_PERSISTENT=>true));
$pdo->exec(‘SET NAMES utf8‘);

如果是mysqli方式连接数据库就修改下mysqli.class.php也能解决
加上用utf8连接就行了。

$mysqli=new mysqli(HOST, USER, PASS, DBNAME);
$mysqli->query("SET NAMES ‘utf8‘");

时间: 2024-08-07 21:17:32

Brophp框架开发时连接数据库读取UTF8乱码的解决(转)的相关文章

利用SSH框架开发时遇到的各种Bug及解决方法

1.hibernate自动生成的配置文件 hibernate.cfg.xml 有时候是有问题的,会出现 org.hibernate.HibernateException: Could not parse configuration: /hibernate.cfg.xml 原因是自动生成的hibernate.cfg.xml第二个标签引号内容的最末尾有一个空格,删掉即可 <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hiberna

golang的beego框架开发时出现的问题纪录

golang的beego框架开发时出现的问题纪录1.数据库并发时问题:[ORM]2017/02/20 23:44:05 -[Queries/default] - [FAIL / db.Query / 15.9ms] - [SELECT mp_wx_account.app_id, mp_wx_account.app_secret FROM mp_wx_develop INNER JOIN mp_wx_account ON mp_wx_account.app_id = mp_wx_develop.a

三大框架开发时,spring配置文件出现异常

在最近利用三大框架进行项目开发时,spring配置文件里出现了一个橘***的双向箭头,鼠标放上去,会提示你advised by  org.springframework.transaction.interceptor.TransactionInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) 异常,提示spring事务管理异常,经过我的探索,终于解决了这个问题,原因是我利用三大框架的注解开发,在spring配置文件里配置全局

在英文Win7操作系统上部署C#开发的Web系统出现乱码的解决方法

今天,迁移机器,把一个使用C#开发的Web系统部署到一台英文版Win7操作系统上,部署好以后,系统可以登录,只是网页上出现汉字乱码. 在这台电脑上,打开Word等文本编辑器,是可以正常输入.显示中文的. 解决方法如下: 1.打开"控制面板"----->选择"Region and Language" 2.Formats 页里Format为"English(United States),Location页选择的是United States,这个是没有影响

Python和Ruby开发中源文件中文注释乱码的解决方法(Eclipse和Aptana Studio3均适用)

Eclipse的设置(Aptana Studio3与Eclipse基本完全相同,此处略) window->preferences->general->editors->text editors->spelling->encoding->UTF-8 window->preferences->workspace->text file encoding->UTF-8 打开eclipse安装目录->eclipse.ini,末行加上"

在IntelliJ IDEA中添加框架支持时找不到Hibernate的解决办法

问题描述 第一次在Add Frameworks support界面中添加hibernate支持的时候,异常中断,导致没有成功添加. 第二次进入Add Frameworks support窗口时,发现找不到hibernate. 解决办法 打开项目根目录下的spring-mvc-crud.iml文件,搜索hibernate找到这段代码并删除,然后重新添加框架支持即可选择hibernate. <facet type="hibernate" name="Hibernate&qu

yii2.0高级框架配置时打开init.bat秒退的解决方法 (两种方法)

第一种: 这几天刚接触到yii2.0框架,在配置advanced版本时运行init.bat初始化文件时老是闪退: 用cmd运行该文件时显示:The OpenSSL PHP extension is required by Yii2.如下图所示: 搜索了很多资料,终于找到问题所在之处了,原来是php.ini中的extension=php_openssl.dll没有打开: 1.打开php.ini文件,如我的目录是D:\wamp\php\php.ini,搜索extension=php_openssl.

PHP MYSQL读取中文乱码的解决办法

其他试了很多种办法,结果最直接最简单的办法就是在SELECT前先发送设置.如下 mysqli_query($con,"SET NAMES 'UTF8'"); mysqli_query($con,"SET CHARACTER SET UTF8"); mysqli_query($con,"SET CHARACTER_SET_RESULTS=UTF8'");  $result = mysqli_query($con,$querySql);

QTextStream 读取文件乱码的解决办法

通常都是编码转换的问题,注意如以下红字代码那样设置正确的编码 QFile _file(_f_path);    try{        if(_file.open(QIODevice::ReadOnly))        {            QTextStream _txt_stream(&_file);            _txt_stream.setCodec("UTF-8");//处理utf8中文            while(!_txt_stream.at