PHP が MSSQL に接続して中国語の文字を表示すると、文字化けが表示されます。
PHP が MSSQL に接続して中国語の文字を表示すると、文字化けが表示されます。これは主にエンコーディングの問題が原因です。データベースとページのエンコーディングを統一して処理するには、以下を見てみましょう。
Windows で PHP 開発を行っており、mysql データベースを使用しているため、クエリ レコードが文字化けすることがあります。これは、PHP エンコードが中国語をサポートしていないためです。直接エンコードしてデコードすることで解決できるため、比較的簡単です。 Windows プラットフォームで解決します。
今日、私は顧客が liunx で mssql データベースを保守するのを手伝っていました。サイトが攻撃されていたため、長い間苦労しましたが、ついに今日 mssql に接続してクエリを実行してみました。何が問題なのですか?
しかし、表示されるレコードの漢字は?数字か黒いボックスの塊ですが、これは典型的なコーディングエラーなので、php.iniのmssqlの設定を確認したところ、「mssql.charset」という設定があることがわかりました。 , 「utf8」に設定したところ、無事文字化けが解決しました。
私のプログラムページはutf8を使用しているため、GBK/GB2312の場合は、対応するエンコーディングを設定することで解決できるはずです。もちろん、そのような問題が発生した場合は、対応するものを確認する必要があります。問題を完全に解決できるため、構成ファイルをできるだけ変更してください。
例
コードは次のとおりです
|
|
$serverName = "127.0.0.1,1433";
$connectionInfo = array( "UID"=>"sa",
"PWD"=>"123456",
"データベース"=>"NopCommerce",
"CharacterSet"=>"UTF-8"); // この行が重要なポイントです
$conn = sqlsrv_connect($serverName, $connectionInfo);
|
注意事項:
一般的に使用されるエンコーディングは utf8-general-ci です
統一する必要があるのはテーブルだけではなく、4つの側面があります
最初に: データベース、テーブル、フィールドを含むデータベースの種類を統一する必要があります。それを確認できます
2つ目は、ファイルのエンコードタイプです。dwまたはeditplusを使用している場合は、ページのエンコードを確認できます。異なる場合は、変更する必要があります。
3つ目は、データベースにアクセスする時の設定がset NAMES utf8;
4つ目は、ブラウザ表示モード、メタ属性の追加です
GBK を使用するか GB2312 を使用するかに関係なく、これら 4 つの側面は、どのステップが不足しているかによって異なります。
ASP で MYSQL に接続するよりも PHP を使用して MSSQL を操作する方が簡単です。 したがって、MSSQL と MYSQL を共存させる必要がある場合、ASP の場合は PHP を使用して MSSQL に接続し、MSSQL を操作する方が簡単です。 MYSQL に接続するには、MYSQL ドライバーをインストールする必要があります。残念ながら、Windows 用の ODBC はデフォルトではインストールされていません...
1. Webサーバーに少なくともmssqlクライアントをインストールします
2. php.iniを開き、extension=php_mssql.dllの前のセミコロンを削除します
必要な場合: extension_dir を作成する必要があります
3. php<=4.0.9<=5.0.3を使用することをお勧めします
現在、4.010と5.0.3には接続できていません。
4. データベース接続ページングについては、phpe.net で対応するクラスを取得できます
http://www.bkjia.com/PHPjc/869305.html
www.bkjia.comtruehttp://www.bkjia.com/PHPjc/869305.html技術記事 PHP が MSSQL に接続すると、中国語の文字が文字化けして表示されます。これは主に、データベースとページのエンコーディングの問題が原因です。統一的に...