在MYSQL里添加和显示中文

终于开始学习PHP了,首先遇到的第一个问题是中文的显示。
开始我在phpMyAdmin里把database设成了gb2132,后来把文件导入的时候,在这个界面就看到了中文的正确显示。
但在用浏览器打开php文件的时候,却发现显示的都为???
把网页的格式指定为gb2312,仍然解决不了这个问题。
后来在mysql的官方文件里看到这么一段话:

Character set issues affect data storage, but also communication betweenclient programs and the MySQL server. If you want the client program tocommunicate with the server using a character set different from the default,you'll need to indicate which one. For example, to use theutf8Unicode character set, issue this statement after connecting to the server:

SET NAMES'utf8';
仍然有点疑惑,到底要怎么个插入法。又G了一通,在 http://yanfeng.org/blog/585/里找到了答案。

MySQL 4.1的字符集支持(Character Set Support)有两个方面:字符集(Character set)和排序方式(Collation)。对于字符集的支持细化到四个层次:服务器(server),数据库(database),数据表(table)和连接(connection)。当我们按照原来的方式通过PHP存取MySQL数据库时,就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。解决方法是在发送查询前执行一下下面这句:SET NAMES‘utf8′;


為著解決這個問題必須去修改wp-includes/wp-db.php內的資料連線設定。詳細的修改方式是這樣的:$this->dbh =
@mysql_connect($dbhost,$dbuser,$dbpassword);
//加上下面這行
$this->query("SET NAMES'utf8'");

看了这么一大堆,其实就是一句话,在调用mysql_connect()之后,再加上一句
mysql_query("SET NAMES'gb2312'")
即可。前面所引用的例子是用了个handler来进行调用,而我只是在自己function里直接调用这个函数了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值