mysql5寫入和讀出亂碼解決
更新時(shí)間:2006年11月25日 00:00:00 作者:
我寫的例子
當(dāng)然我們也可以通過(guò)如下指令修改數(shù)據(jù)庫(kù)的字符集
alter database da_name default character set 'charset'.
客戶端以 gbk格式發(fā)送 ,可以采用下述配置:
SET character_set_client='gbk'
SET character_set_connection='gbk'
SET character_set_results='gbk'
這個(gè)配置就等價(jià)于 SET NAMES 'gbk'。
現(xiàn)在對(duì)剛才創(chuàng)建的數(shù)據(jù)庫(kù)操作
mysql> use test;
Database changed
mysql> insert into mysqlcode values(null,'php愛(ài)好者');
ERROR 1406 (22001): Data too long for column 'content' at row 1
沒(méi)有指定字符集為gbk,插入時(shí)出錯(cuò)
mysql> set names 'gbk';
Query OK, 0 rows affected (0.02 sec)
指定字符集為 gbk
mysql> insert into mysqlcode values(null,'php愛(ài)好者');
Query OK, 1 row affected (0.00 sec)
插入成功
mysql> select * from mysqlcode;
+----+-----------+
| id | content |
+----+-----------+
| 1 | php愛(ài)好著 |
+----+-----------+
1 row in set (0.00 sec)
在沒(méi)有指定字符集gbk時(shí)讀取也會(huì)出現(xiàn)亂碼,如下
mysql> select * from mysqlcode;
+----+---------+
| id | content |
+----+---------+
| 1 | php??? |
+----+---------+
1 row in set (0.00 sec)
復(fù)制代碼 代碼如下:
<?
require("adodb/adodb.inc.php");
$conn=newadoconnection('mysql');
$conn->connect("localhost","root","2027205","bh38") or die("連接不成功");
$conn->execute("set names gb2312");
$conn->execute("INSERT INTO `vv` (`cc`) VALUES ('換了個(gè)編碼不知道行不行');") or die("錯(cuò)誤");
$rc=$conn->execute("select * from vv");
while(!$rc->EOF)
{
echo($rc->fields["cc"]);
$rc->movenext();
}
?>
require("adodb/adodb.inc.php");
$conn=newadoconnection('mysql');
$conn->connect("localhost","root","2027205","bh38") or die("連接不成功");
$conn->execute("set names gb2312");
$conn->execute("INSERT INTO `vv` (`cc`) VALUES ('換了個(gè)編碼不知道行不行');") or die("錯(cuò)誤");
$rc=$conn->execute("select * from vv");
while(!$rc->EOF)
{
echo($rc->fields["cc"]);
$rc->movenext();
}
?>
當(dāng)然我們也可以通過(guò)如下指令修改數(shù)據(jù)庫(kù)的字符集
alter database da_name default character set 'charset'.
客戶端以 gbk格式發(fā)送 ,可以采用下述配置:
SET character_set_client='gbk'
SET character_set_connection='gbk'
SET character_set_results='gbk'
這個(gè)配置就等價(jià)于 SET NAMES 'gbk'。
現(xiàn)在對(duì)剛才創(chuàng)建的數(shù)據(jù)庫(kù)操作
mysql> use test;
Database changed
mysql> insert into mysqlcode values(null,'php愛(ài)好者');
ERROR 1406 (22001): Data too long for column 'content' at row 1
沒(méi)有指定字符集為gbk,插入時(shí)出錯(cuò)
mysql> set names 'gbk';
Query OK, 0 rows affected (0.02 sec)
指定字符集為 gbk
mysql> insert into mysqlcode values(null,'php愛(ài)好者');
Query OK, 1 row affected (0.00 sec)
插入成功
mysql> select * from mysqlcode;
+----+-----------+
| id | content |
+----+-----------+
| 1 | php愛(ài)好著 |
+----+-----------+
1 row in set (0.00 sec)
在沒(méi)有指定字符集gbk時(shí)讀取也會(huì)出現(xiàn)亂碼,如下
mysql> select * from mysqlcode;
+----+---------+
| id | content |
+----+---------+
| 1 | php??? |
+----+---------+
1 row in set (0.00 sec)
相關(guān)文章
編寫安全 PHP應(yīng)用程序的七個(gè)習(xí)慣深入分析
本篇文章是對(duì)編寫安全-PHP應(yīng)用程序的七個(gè)習(xí)慣進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
PHP面向?qū)ο蟪绦蛟O(shè)計(jì)之對(duì)象的遍歷操作示例
這篇文章主要介紹了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)之對(duì)象的遍歷操作,結(jié)合具體實(shí)例形式分析了php面向?qū)ο蟪绦蛟O(shè)計(jì)中對(duì)象屬性遍歷的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-06-06
php中使用preg_replace函數(shù)匹配圖片并加上鏈接的方法
preg_replace 執(zhí)行正則表達(dá)式的搜索和替換,如果只是單純的匹配字符串建議使用str_replace(),因?yàn)槠鋱?zhí)行效率高的多2013-02-02
PHP實(shí)現(xiàn)數(shù)組轉(zhuǎn)JSon和JSon轉(zhuǎn)數(shù)組的方法示例
這篇文章主要介紹了PHP實(shí)現(xiàn)數(shù)組轉(zhuǎn)JSon和JSon轉(zhuǎn)數(shù)組的方法,結(jié)合實(shí)例形式分析了php數(shù)組與json相互轉(zhuǎn)換實(shí)現(xiàn)方法與操作技巧,需要的朋友可以參考下2018-06-06
php mysql操作mysql_connect連接數(shù)據(jù)庫(kù)實(shí)例詳解
php操作數(shù)據(jù)庫(kù)首先必須連接到指定的數(shù)據(jù)庫(kù),連接數(shù)據(jù)庫(kù)可以使用PHP mysql_connect函數(shù),本文章向大家介紹mysql_connect函數(shù)的使用方法和實(shí)例,需要的朋友可以參考一下2016-12-12

