php の mssql_connect を介して ms SQL データを直接接続します。データをクエリするとき、php に付属の mssql を使用する限り、読み取られるデータのエンコード形式は gbk でなければなりません。これは、mssql 自体のエンコードが gbk しかないためです。 Definition
while($row = mssql_fetch_row($result)){
echo iconv('GB2312','UTF-8',$row[0]); はできません
出力がまだ文字化けしているのはなぜですか? ? ? ? ?
セット名を使用しても機能しません。
ディスカッションに返信 (解決策)
結果を投稿
YTo1OntpOjA 7 czoxNDoiEwbJEMpqqc100THTUNUiO2k6MTtzOjg6ItD41bnN6rPJIjtpOjI7czoxMDoiMjAxMi0xMS0xOSI7aTozO3M6MToiMSI7aTo0O047fQ==
Array( [0] => ??┩t?1?? [1] => 续展完成 [2] => 2012-11-19 [3] => 1 [4] => )
あなた mssql マネージャーに表示される $row[0] に対応するフィールドの内容は何ですか?
Web ページのエンコーディング、メタ設定のエンコーディング、データベースの文字エンコーディングが正しいことを確認してください
Array( [0] => ??┩t?1?? [1] => 续展完成 [2] => 2012-11-19 [3] => 1 [4] => )mssql マネージャーに表示される $row[0] に対応するフィールドの内容は何ですか?
変換したデータは正しいのですが、なぜ配列 0 は文字化けしていますか? そして、私の mysql は次のように変換しました
データを提供していただいたので、デコードして調べただけです
これが文字化けの原因を特定する唯一の方法です
要素の元のコンテンツは 0x1306C910CA6AA9CD74D131D350D5 です
データを追加するときに、base64_decode が使用されます。どのようにトランスコードしても無駄です
変換はありません。が必要なので、読み戻されるデータは gbk です
したがって、ループの読み取りと挿入の前に mysql_query('set names gbk'); を実行するだけで済みます
変換は必要ありません、読み戻されるデータは gbk です
、mysql_query( 'set names gbk' を読み取って挿入するループの前) を実行するだけです