ASP を使用して MYSQL データベースを読み込むと文字化けが表示されます。すべての漢字が読み込まれますか? ? ? ?この問題の理由は、
データベース キャラクタ セット、テーブル キャラクタ セット、およびフィールド キャラクタ セットはすべて gbk_chinese_ci に設定されます。
データベース接続文字列の Stmt=Set Names 'GBK' に注意してください。この文を含める必要があります。
以下は、mysql への ASP リンクのコードです。後ろにGBKがあることに注意してください。これはリンクのエンコードタイプを指定します。使用するデータに基づいて
ライブラリのエンコードタイプ。独自のものに変更してください。
ConnectionString =Driver={MySQL ODBC 3.51
Driver};Server=myserver;Database=mysql;User=myuser;password=mypassword;Option=3;Stmt=Set
名前は「GBK」
mysql の上位バージョンを使用すると、php に含まれる漢字が文字化けすることがよくあります。
参考方法:
mysqlのフォントを設定します。
mysql.iniに追加
[mysql]
デフォルトの文字セット=gb2312
[クライアント]
デフォルトの文字セット=gb2312
[mysqld]
デフォルト文字セット=gb2312 //またはgbk
登録を変更すると、変更前のデータベースは無効になり、これらのデータベース ディレクトリ内の db.opt ファイルの内容は次のように変更されます。
デフォルトの文字セット=gb2312
デフォルト照合=gb2312_chinese_ci
こんなこともできます
薄暗いドライバー名、chs
driverName=ドライバー={mysql odbc 3.51
ドライバー};サーバー=ローカルホスト;データベース=テスト;uid=loaer;pwd=123456;
set conn=server.createobject(adodb.connection)
conn.open ドライバー名
'クエリを実行する前に次の文を実行してください
set chs=conn.Execute(SET NAMES 'gb2312')
'データベーステーブルのクエリ
sql = SELECT * FROM tb_commondata
rs = conn.Execute(sql) を設定します。
これで文字化けはなくなります