プロが教えるわが家の防犯対策術!

https://oshiete.goo.ne.jp/qa/13248011.html
にあります。
No.2ベストアンサー2022/11/28 16:59
あと、MySQLの文字コードはutf8
--------------------------------
以上ですが
あと、MySQLの文字コードはutf8
とは何処かに追加する項目かなだと思います。
もしかして
テーブを作成する場合のカラム項目のことなのでしょうか?
このサイトのMysqlのTB作成で以下としましたが
以下の CHARSET=utf8 AUTO_INCREMENT=3
のことなのでしょうか?
CREATE TABLE `images`
(`id` INT PRIMARY KEY AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL)
ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
よろしくお願いいたします。

A 回答 (1件)

MySQLでは、サーバー、クライアント毎に文字コードの設定があります。


ディフォルト値は、サーバーの設定ファイル(my.iniやmy.cnf)で指定します。

https://qiita.com/YusukeHigaki/items/2cab311d2a5 …

SQLを実行するクライアントの文字コードは、クライアント側で設定する必要があります。
例えばWindowsのコマンドプロンプトは標準ではShift-JIS(厳密には同じではないがcp932)なので、サーバーがutf8だと文字化けします。
phpから接続する場合も、文字コードの設定が必要になります。
以前はMySQLの命令文で、SQLを実行する前に、
SET NAMES 文字コード
を実行する必要がありました。現在はPDOで指定できるようになっています。

サーバーの文字コードのディフォルトの文字コードは、データベースやテーブル、カラムの文字コードのディフォルト値になります。
データベース、テーブル、カラム毎に文字コードを明示的に指定して変えることもできます。

クライアント環境からSQLと同様に、
SHOW VARIABLES LIKE 'char%';
を実行することで、有効になっている文字コードを確認できます。
ここで文字コードが合ってないと、文字化けが発生します。
    • good
    • 2
この回答へのお礼

詳しくありがとうございました。
了解です。
私の勘違いでした。
今後とも宜しくお願い致します

お礼日時:2022/12/03 18:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!