惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
Blog — PlanetScale
Blog — PlanetScale
B
Blog RSS Feed
L
LangChain Blog
Jina AI
Jina AI
爱范儿
爱范儿
C
Check Point Blog
云风的 BLOG
云风的 BLOG
Last Week in AI
Last Week in AI
月光博客
月光博客
GbyAI
GbyAI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Stack Overflow Blog
Stack Overflow Blog
V
V2EX
A
About on SuperTechFans
有赞技术团队
有赞技术团队
Microsoft Azure Blog
Microsoft Azure Blog
The GitHub Blog
The GitHub Blog
博客园 - Franky
Apple Machine Learning Research
Apple Machine Learning Research
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google DeepMind News
Google DeepMind News
博客园 - 三生石上(FineUI控件)
S
SegmentFault 最新的问题

博客园 - 灵风

python网站收集 添加XP/2003的网络用户和密码及用户自动登录 一个命令行解决U盘所有文件(夹)被隐藏问题 - 灵风 - 博客园 Windows Server 2000/2003/2008错误 IntelliJ IDEA 性能调整 软件下载站 丁香园-英语面试精选 英语面试自我介绍范文(二) 英文面试自我介绍(一) 网络ghost mysql支持gbk字符集 Eclipse 3.2设置缩进设置 JSTL的问题(According to TLD or attribute directive in tag file, attribute value does not accept any expressions) spring DAO(用hibernate)实现 修改脱管(Detached)对象 金山词霸2005版词典文件对照表 1、WEB请求的大概过程 netbeans中设置字符集为 UTF8 取消XP/Windows 2003系统自带文件解压缩功能
在PHP中PDO解决中文乱码问题的一些补充 - 灵风 - 博客园
灵风 · 2010-09-05 · via 博客园 - 灵风

前两天了解了一下PDO连接数据库的相关资料,配置相关在网路上都有很多相关资料,我在这里说说解决

中文乱码显示问题,我的环境是appsver包,

在网上最常出现的解决中文乱码显示的代码是:

第一种:PDO::__construct($dsn, $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES'utf8';"));

我试过用第一种方法,可结果是,name字段只显示一个‘C’字符。之后的本该显示中文的地方却是空白。

结果是这样的:如图1示

在PHP中PDO解决中文乱码问题的一些补充 - 大笨熊 - 大笨熊的blog

我是只要解决的:直接将UTF8替换成了GBK,就可以了,即:

PDO::__construct($dsn, $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET

NAMES'GBK';"));

效果图2如下:

在PHP中PDO解决中文乱码问题的一些补充 - 大笨熊 - 大笨熊的blog

第二种:PDO::__construct($dsn, $user, $pass);

        PDO::exec("SET NAMES 'utf8';");

        第二种我也在我的环境里测试过,显示效果如图1所示,碰到这种情况,把utf8替换成GBK,就能显

   示了。另外,这里的PDO::在使用的时候用$pdo->代替,当然,这个是个变量,变量名称可以自己定义。

第三种:$pdo->query('set names utf8;');

至于第三种呢,看了上面两种,应该也知道要吧utf8替换成GBK,也能正确显示了。

这几种我都测试过了。都行。哈哈。另外,我在这里还介绍一种解决中文乱码的一种方法,不过大同小异,

基本和第三种没什么却别,不通的是,这种方法,没用query而是用exec,代码如下:

   $pdo->exec("SET CHARACTER SET GBK");

呵呵。怎么样啊,这四种方法我都亲自试过了。

摘自:http://lxshark.blog.163.com/blog/static/9138019020100130100133/