php連接的時候要set_names
作為一家“創意+整合+營銷”的成都網站建設機構,我們在業內良好的客戶口碑。創新互聯公司提供從前期的網站品牌分析策劃、網站設計、成都做網站、成都網站建設、創意表現、網頁制作、系統開發以及后續網站營銷運營等一系列服務,幫助企業打造創新的互聯網品牌經營模式與有效的網絡營銷方法,創造更大的價值。
寫入的時候,如果頁面是UTF8則需要轉換為你要的編碼再寫入,
另外數據庫的欄位編碼也要跟得上
數組吧,直接把數組轉字符串啊
implode() 函數返回由數組元素組合成的字符串。(適合一維數組)
$arr = array('Hello', 'World', 'I', 'love', 'Shanghai');
1 echo implode(" ",$arr);//加空格
the result : Hello World I love Shanghai
2 echo implode(",",$arr);//加逗號
the result : Hello,World,I,love,Shanghai
轉換數組為字符串后插入數據庫就可以了。
PHP與數據庫的編碼應一致
1. 修改mysql配置文件my.ini或my.cnf,mysql最好用utf8編碼
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
default-storage-engine=MyISAM
在[mysqld]下加入:
default-collation=utf8_bin
init_connect='SET NAMES utf8'
2. 在需要做數據庫操作的php程序前加mysql_query("set names
'編碼'");,編碼和php編碼一致,如果php編碼是gb2312那mysql編碼就是gb2312,如果是utf-8那mysql編碼就是 utf8,這樣插入或檢索數據時就不會出現亂碼了
首先看看傳遞的數據是不是保證中文顯示無亂碼。
然后修改數據庫編碼方式為utf-8,包括該字段的編碼也設置為utf-8
最后設置數據庫操作類初始化時候執行 SET NAMES utf-8
你建立的表字段的編碼是什么編碼呢?mysql的編碼分為兩種,一種是客戶端編碼,這個可以通過set names GBK(utf8);來改變;這句話的意思是告訴mysql服務器,你的客戶端使用的是什么編碼。另一種是數據在庫中存儲時使用的編碼,這個編碼可以在安裝mysql建立數據庫,建立表的時候選擇,以建表時的選擇為最后標準,若果沒選擇,默認繼承安裝時的選擇。你說的插入成功卻是空行的原因,可能是因為安裝時選擇的編碼里面,對漢字的編碼支持的太少,因此出現這樣的情況,建議:show create table table_name;查看下建表語句中的字符集。最好修改成utf8。這樣適應能力強一些!
不能用GB2312的!
你想存 進去都是正常,請務必確保表引擎、表校對字符集、上傳網頁和
@mysql_select_db("newdb") or die ("連接錯誤");
這條語句后加上
mysql_default_chearset('utf8');
全都改成utf-8字符集的。
注意在mysql用utf8!
必須全部都改成一樣的才能顯示正常中文。
而且你用phpmyadmin 那個用utf-8顯示的,你想都正常,必須用一樣的。
否則,你引擎選擇
gb2312_chinese_ci
校驗也行,不過看到的肯定亂碼,但是 取出來顯示應該是正常的了。
文章標題:php中文寫入數據庫,php輸出數據庫數據
當前URL:http://vcdvsql.cn/article46/hsjhhg.html
成都網站建設公司_創新互聯,為您提供Google、企業建站、網站內鏈、網站改版、域名注冊、網頁設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯