ホームページ  >  記事  >  バックエンド開発  >  PHPクエリの文字化けの解決策 mssql_PHPチュートリアル

PHPクエリの文字化けの解決策 mssql_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:10:30765ブラウズ

phpでmssqlをクエリする際の文字化けの解決策

具体的な解析は以下の通りです

php が mssql に接続されると、すべての結果が文字化けします。私は経験からこの問題がエンコーディングの問題であることを知っています。

解決​​策を以下にまとめておきます。

方法 1、php.ini ファイルを変更します。もちろん、ページの状況に応じて設定することもできます。コードは次のとおりです。

コードは次のとおりです:

;mssql.charset = "ISO-8859-1"

mssql.charset = "GBK"

方法 2、プログラム内で直接変換、コードは次のとおりです:

コードは次のとおりです:

iconv('GB2312','UTF-8',$data)

方法 3、Ado 接続を使用して接続時にエンコードを設定します。コードは次のとおりです:

コードは次のとおりです:

$conn = new COM("ADODB.Connection", NULL, CP_UTF8) または die("ADO を開始できません");

PHP の例、コードは次のとおりです:

コードは次のとおりです:

<頭>
");
//printaline("お願いします?");
//print("上記エラーのため表示されません。");
?>
$conn = new COM("ADODB.Connection", NULL, CP_UTF8) または die("ADO を開始できません");
//アクセスデータベースのオープンメソッド
//$conn->Open("プロバイダ=Microsoft.Jet.OLEDB.4.0; データ ソース=$db");
//$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");
$conn->Open("ドライバー={SQL Server};サーバー={192.168.22.40};データベース=sugarcrm_db;UID=sa;PWD=123456;") ;
//クエリを実行してデータを出力します
$rs = $conn->Execute('SELECT * FROM accounts') or die ("error query");
?>
<テーブルボーダー="1''>
ID タイトル

while (!$rs->EOF) {
echo '';
echo ''. $rs->Fields['id']->Value .'';
echo ''. $rs->Fields['name']->Value .'';
echo '';
$rs->MoveNext();
}
?>

// リソースを解放します
$rs->Close();
$conn->Close();
$rs = null;
$conn = null;
?>



概要:

1 つ目: データベース、テーブル、フィールドを含むデータベースの種類は統一されている必要があり、それを確認できます

2 番目: ファイルのエンコード タイプ。dw または editplus を使用している場合は、ページのエンコードを確認できます。異なる場合は、変更する必要があります。

3 番目: データベースにアクセスするときの設定は set NAMES utf8;

4 番目: ブラウザ表示モード、メタ属性を追加します

この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。

http://www.bkjia.com/PHPjc/935404.html

tru​​ehttp://www.bkjia.com/PHPjc/935404.html技術記事 php で mssql をクエリするときのコード化けの解決策の詳細な分析は次のとおりです。php が mssql に接続されると、すべてのコード化けがクエリされます。これは経験から、この問題はエンコーディングの問題であることがわかっています。 ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。