程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> mysql5寫入和讀出亂碼解決

mysql5寫入和讀出亂碼解決

編輯:PHP綜合
我寫的例子
復制代碼 代碼如下:<? 
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 ('換了個編碼不知道行不行');") or die("錯誤"); 
$rc=$conn->execute("select * from vv"); 
while(!$rc->EOF) 

 echo($rc->fields["cc"]); 
 $rc->movenext(); 

?> 
當然我們也可以通過如下指令修改數據庫的字符集
alter database da_name default character set 'charset'.
客戶端以 gbk格式發送 ,可以采用下述配置:
SET character_set_client='gbk'
SET character_set_connection='gbk'
SET character_set_results='gbk'
這個配置就等價於 SET NAMES 'gbk'。
現在對剛才創建的數據庫操作
mysql> use test;
Database changed
mysql> insert into mysqlcode values(null,'php愛好者');
ERROR 1406 (22001): Data too long for column 'content' at row 1
沒有指定字符集為gbk,插入時出錯
mysql> set names 'gbk';
Query OK, 0 rows affected (0.02 sec)
指定字符集為 gbk
mysql> insert into mysqlcode values(null,'php愛好者');
Query OK, 1 row affected (0.00 sec)
插入成功
mysql> select * from mysqlcode;
+----+-----------+
| id | content   |
+----+-----------+
| 1  | php愛好著 |
+----+-----------+
1 row in set (0.00 sec)
在沒有指定字符集gbk時讀取也會出現亂碼,如下
mysql> select * from mysqlcode;
+----+---------+
| id | content |
+----+---------+
| 1  | php???  |
+----+---------+
1 row in set (0.00 sec)
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved