php讀取/寫入mssql亂碼!

來源:互聯網
上載者:User

標籤:style   io   ar   color   os   sp   for   on   資料   

最近在做PHP抓取,PHP+MSSQL的搭配。。呵。呵。。網上找了找資料好少。。看來是個大冷門呐。東看一下。西看一下。總算讓我給鼓搗點東西出來。。(最近會陸續會有PHP+MSSQL方面的資料出來哦:>)。進入正題。

  PHP抓取是抓取出來了。。抓取新聞標題和新聞內容。一開始是把抓取到的標題和內容直接顯示出來沒有什麼問題

php.ini中default_charset 項設定是這樣的:default_charset = "utf-8"

但是光抓取下來得存入資料庫呐。

這時候出問題了。

下面是加入資料庫函數

*********************************************php code*******************************************************

function insert_db($title,$content,$lie)
{
   $dsn =‘DRIVER={SQL Server};SERVER=127.0.0.1;DATABASE=test‘;
$link=odbc_connect($dsn,‘sa‘,‘admin‘) or die(‘eeeor‘);
odbc_exec($link,"insert into news(".$lie.",content)values(‘".$titile."‘,‘".$content."‘)");
odbc_close($link);
}

*****************************************************************************************************************

但到資料庫一看慘了。全是亂碼。。網上找了一下文章。。看了看原來是因為文字編碼的問題。

MSSQL中預設是chinese_prc規則編碼排序。而我PHP中設定的是UTF-8所以會是亂碼。但是我把php.ini的default_charset 項設定成GB2312抓取到的標題和內容存入MSSQL也是亂碼。鬱悶。先不管這個了。

既然編碼不對。那麼統一一下不就行了。。。

用下面這個函數:     iconv(),對指定內容進行編碼轉換同時返回編碼後的內容。。。

iconv("utf-8",   "gb2312", $title) ;這樣把抓到的標題轉換一下存入MSSQL。。看了一下哈。。轉換成功。一溜的中文標題。沒有任何亂碼。。呵。呵。。。

由於PHP是UTF-8那麼顯示的時候要對應哦。。。

iconv("gb2312",   "utf-8", $title) ;這樣就可以在網頁上顯示正常的內容嘍!!!

搞定~!

php讀取/寫入mssql亂碼!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.