php與mysql編碼設置
要想不亂碼要三種編碼要一樣
資料庫入庫出庫編碼
即:mysql_query("set names 'GBK'");
資料庫裡面設置的編碼
HTML頁面的編碼
有時候你文件設置的編碼正確 但是文件本身的編碼不對的
就要轉換編碼了
有的編輯器裡面有編碼轉換的
如果想學習更多PHP教程
請網路:愛微網
希望能幫助到你
Ⅱ php文件和mysql資料庫編碼問題
文件編碼需要做到三個編碼一致,如果你做到以下三個編碼一致就永遠不會出現亂碼了!!!!!
(1)資料庫編碼
資料庫編碼注意的是資料庫表欄位的編碼和資料庫客戶端編碼,比如表欄位的編碼是UTF-8,操作資料庫PHP文件編碼是GB2312, 怎樣才不會出現亂碼呢?這個時候就要用SET NAMES GB2312來設置資料庫伺服器的客戶端的編碼,這樣資料庫伺服器就會自動將資料庫中編碼為UTF-8的數據自動轉化為GB2312,在接收的PHP文件就保證收到的數據不會有亂碼
(2)PHP文件編碼
也就是你在保存文件時選擇的文件編碼,如果不是當前你想要的編碼可以通過「另存為」改變編碼
(3)HTML中<meta http-equiv="content-type" content="text/html;charset=gb2312"/>設置客戶端瀏覽器顯示數據的編碼,其本質是設置HTTP中Content-Type報頭的值,PHP中要做到這一點可以用 header("content-type:text/html;charset=gb2312")
做到上面各編碼一致的編碼一致,不會出現亂碼的!!
Ⅲ php+mysql編碼問題
資料庫表建立的時候,字元欄位有字元集,關鍵看是選擇的GB2321、UTF8等。以這個為基礎,以下的幾個地方都保持統一,那麼數據才能插入和查詢,而且不會有亂碼:
一、PHP文件的編碼,PHP實際上是文本文件,保存的時候是可以選擇編碼的,你用記事本打開選擇另存為就可以看見,如果是ANSI就和前面資料庫的GB2312、GBK兼容,UTF8就和UTF8一致。
二、PHP運行後瀏覽器頁面的編碼,這個也必須要一致。
三、PHP程序連接資料庫之後,要運行下面的語句設置介面編碼:輸入mysql_query('set names gb2312');
第三條應該就是你要的答案了。
我是這么寫的
<?php
$link=mysql_connectlocalhost","root","root");
mysql_select_db('table',$link);
mysql_query('set names gb2312');
?>
每個涉及到庫的文件都會先 include 這個文件,這樣就不必怕忘記編碼了~
Ⅳ php訪問mysql資料庫時,讀出的數據是問號!如何解決,設置的編碼方式是utf-8
兩邊入手,
PHP,需要設置頁面編碼,加一行代碼:
header('Content-Type:text/html;charset=utf-8');
這樣就把輸出編碼改為了UTF-8
但是,MySQL也要設置,那就是連接到資料庫之後再加一行
mysql_query("SET
NAMES
`UTF-8`");
即可
當然,你得保證你的資料庫的字元集是UTF-8
如果仍然出錯,那就說明資料庫的字元集配置有問題
Ⅳ php和mysql參數編碼問題
在PHP編碼時加一行mysql_query('set names utf8');保證MySQL是utf8格式的,php的默認格式一般是utf8的。
Ⅵ 用php建mysql表時怎麼設置表的編碼為gb2312
可以使用 DEFAULT CHARSET=gb2312 設置編碼。
例如:
創建一個名字為table的表,編碼為gb2312。
CREATE TABLE IF NOT EXISTS `table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`contents` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gb2312 AUTO_INCREMENT=1 ;
建議最好使用utf8編碼,這樣兼容性更好。
Ⅶ php連MySQL資料庫編碼問題
也許是資料庫的問題,我也遇到過,我用的是wampserver,界面的工具,直接點滑鼠就可能建成mysql資料庫,建成後導入數據,查詢資料庫返回面而的是亂碼,我遇到的情況是這樣的:
1、建庫用gbk,如圖。
2、導入表及數據時,默認是utf,此處要改成gbk就不是亂碼了,如第圖底頁面,如果是默認的或是其它的字元集,能導入成功但是亂碼。另外直接把sql粘貼到sql窗口,也不是亂碼。
希望能幫到你,呵呵~