PHP

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.交流群: PHP+JS聊天群

相关课文
  • mac开发接入微信公众号接口返回报错 cURL error 56: SSLRead() return error -9806

  • pecl安装程序时报错Array and string offset access syntax with curly braces is no longer supported

  • PHP的换行符是什么

  • 由于商家传入的H5交易参数有误,该笔交易暂时无法完成,请联系商家解决

我要说说
网上宾友点评
沙发已空