ホームページ >バックエンド開発 >PHPチュートリアル >気持ち悪い文字化けについての質問です。

気持ち悪い文字化けについての質問です。

WBOY
WBOYオリジナル
2016-06-13 12:55:321090ブラウズ

嫌な文字化け問題
プログラムはデータの一部を別のデータベースに挿入する必要があります
自分のプログラムとデータベースはどちらも UTF-8 ですが、他のデータベースのエンコーディングが非常に複雑なため、挿入できないか、CREATE TABLE IF NOT EXISTS `mem_m` (
) のコードが文字化けします。 `MemM_LoginName` varchar(20) CHARACTER SET latin1 DEFAULT NULL COMMENT 'μ?????',

ここはフィールドです、
「character_set_%」のような変数を表示;次のように表示されます
変数名 値
文字セットクライアント utf8
文字セット接続ラテン1
文字セットデータベース utf8
Character_set_filesystem バイナリ
文字セット結果 utf8
文字セットサーバーラテン1
文字セットシステム utf8

解決方法を教えてください


-----解決策---------
`MemM_LoginName` varchar(20) CHARACTER SET latin1 DEFAULT NULL COMMENT 'μ??????',
以上です
`MemM_LoginName` varchar(20) CHARACTER SET latin1 DEFAULT NULL COMMENT 'ログイン名',
このテーブルは実際には gbk 環境で作成されます
CHARACTER SET latin1ですが
ただし、テーブルの内容はまだ gbk
です。
内容を読みたいだけなら、
なしでアクセスできます。 set names コマンドを使用する場合は、
にする必要があります。 名前を設定 latin1
iconv('gbk', 'utf-8', $MemM_LoginName) を使用して、読み取ったコンテンツを utf-8 に変換し、
を使用します
テーブル全体を変換したい場合は、phpmyadmin
の代わりに mysqldump ツールを使用することもできます。 詳しい方法は省略しますが、「gbk latin1」
で検索してください。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。