PHP操作SQL Server插入數據時中文亂碼解決

字號+ 編輯: 种花家 修訂: H波 來源: 原创 2023-09-11 我要說兩句(0)

默認情況下, php使用utf-8作爲編碼, 而SQL Server 2005使用的默認編碼是GBK, 如果插入或者更新數據, 進到數據庫的必然是亂碼的, 如何通過代碼來解決呢?

首先, 我們需要用sql語句來確定SQL Server數據庫採用的是什麽編碼:

打開查詢分析器, 運行(注意: 不是調試)以下語句:

SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage')

看結果, GBK爲936, 其他編碼代表含義:

  • 936 簡體中文GBK

  • 950 繁體中文BIG5

  • 437 美國/加拿大英語

  • 932 日文 

  • 949 韓文

  • 866 俄文

  • 65001 unicode UFT-8

打開php.ini配置文档, 將以下代碼前面的井號注釋刪掉:

mssql.charset = "utf-8"

在php代碼頭部加入

header("content-Type: text/html; charset=utf-8");

接下來就可以用php函數iconv來對傳入sql内的值進行處理的中文進行即時轉碼:

$xxxDump = iconv('GBK','UTF-8',$xxxDump);


閲完此文,您的感想如何?
  • 有用

    1

  • 沒用

    0

  • 開心

    0

  • 憤怒

    0

  • 可憐

    0

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: 2702237 13835667

相關課文
  • mac開發接入微信公衆號接口返回報錯 cURL error 56: SSLRead() return error -9806

  • PHP的換行符是什麽

  • pecl安裝程序時報錯Array and string offset access syntax with curly braces is no longer supported

  • 由於商家傳入的H5交易參數有誤,該筆交易暫時無法完成,請聯繫商家解決

我要說說
網上賓友點評