Mysql 日本語フィールド名 問題点回避方法。

Mysql 日本語フィールド名 がある場合 問題点回避方法。

環境 windows
PHP 5
Mysql 5.1.37

PHP5からMYSQLへSQL問い合わせしたときに、日本語周り(文字化け)を
経験した。

問題点を整理できた?様子なので覚書。
(問題が確認された環境は、Windowsにインストールした Mysql5.1サーバー。)
Mysqlのデータベース文字コードは、過去の流れからShift-JIS。
PHP5は文字コード::UTF8。

まず、はじめに今回問題点となった。Mysql のデータベース フィールド名に日本語を
使うことは、不必要な作業(悩み)をつくります。
本来データベース名、テーブル名、フィールド名は英数字であるべきです。
(自分は実行している。)
過去の設定を流用せざるを得ない場合(よくある)に参考になればです。

解決方法—-

mysqlの設定

my.ini
[mysql]
default-character-set=sjis
[mysqld]
default-character-set=sjis
skip-character-set-client-handshake

skip-character-set-client-handshake の設定を明記するのが重要。
MYSQLは4.1以降から、クライアントとの通信部分の文字コードも
自動変換しますが、このオプションで文字コードの自動変換機能を無効にします。
>MySQL 4.0 と同じになります。

参考::
http://www.mysql.gr.jp/frame/modules/bwiki/?FAQ#content_1_55


PHPにて
PHPファイルは UTF8
mysql_query(‘set names UTF8’);
をおこなう。


ソース

<?php

$con = mysql_connect(“mysqlサーバー” , “useri” , “パス”) or
die (‘DB Connection Error= ‘. mysql_error());
mysql_query(‘set names utf8’);
mysql_select_db(“database”, $con) or die (‘DB Connection Error= ‘.
mysql_error());

$sql = “SELECT 日本語フィールド from table WHERE 日本語フィールド = ‘条件'”;

$result = mysql_query($sql,$con);
if ( $result == $FALSE ) { die(“Search Result: 0 items”); }
$num = mysql_num_rows($result);

print “”;
for ($i=0; $i<$num; $i++) {
$r = mysql_fetch_row($result);
print “$r[0]$r[1]$r[2]”;
}
print “”;
?>


もしくは

ソース
<?php
$mysqlconnect = mysql_connect(“mysqlserver”,”user”,”pass”);
mysql_select_db(“database”,$mysqlconnect);
mysql_query(‘set names sjis’);

$sql = “select * from table WHERE 日本語フィールド = ‘条件'”;

$sqlraw=mysql_query($sql,$mysqlconnect);
while ($row = mysql_fetch_object($sqlraw)) {
echo $row->日本語フィールド;

}

//メモリー開放
mysql_free_result($sqlraw);

print “”;
print “Done”;
?>

この記事を書いた人

ものくろ(Webコーチ)

フリーランスのブロガー・Web&Blogコーチ。個人・法人様を問わず、情報発信をコンサルティングとサポートしています。親指シフトのorzレイアウト開発者でもあり、日本語入力のエキスパート。
活動実績はこちら

ブログは月間65万PVを記録(2016年1月)したことも。200回を超えるワークショップ開催・のべ1,000名のブログサポートに携わっています。WordPressが得意です。WordPressコミュニティのイベントにも参加しております。お会いした時はよろしくお願いします。

東京 秋葉原に拠点と住民票がありますが、大阪や名古屋を中心に、日本を移動しながら仕事をしつつ暮らしています。

この記事が気に入ったら
いいね!しよう

最新の情報をお届けします

Web・Blogコーチのご依頼はこちら

Web・ブログのコンサルティング・ご相談のご依頼を受け付けております。

  • Webを活用して本気でビジネス・人生を切り開きたい方
  • Webのテクニカルな改善でお悩みの方
  • アイディアはあるのに、記事の文章にするのがうまくいかない方
  • 親指シフトを本気で習得したい方

そんな多様なお悩み、そして、さらに隠れていて見えないお悩みも見つけます。

ダイレクトにアドバイス。そして、ご自身の問題解決力を手にしていただく時間を。このブログ2400記事をアウトプットした経験に基づく良質なノウハウ・スキルを手に入れてください。時間の大切さを感じてるあなたへオススメです。

ものくろキャンプ Web・Blogコーチ セッション

お申し込みはこちらのお問い合わせフォームからお願いします。

お申し込みはこちらのお問い合わせフォームからお願いします。

ものくろキャンプ イベント案内

ものくろキャンプの開催スケジュールはこちら