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月)。 これまでに250回を超えるワークショップ開催・のべ1,200名のブログサポートに携わる。

WordPressが得意 / 好きなもの(無刻印キーボード・十割蕎麦・湯葉)/ あまり好みでないもの(ブロッコリー・値切り)

開催している講座に参加する

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

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

あわせて読みたい

広告

Facebookを使うノウハウ公開中

農家・フリーランス・経営者向け SNS使いこなしセミナー (2018年1月版)の内容を全文公開中!

無料 メルマガ発行中

運営しているものくろキャンプの講座・イベント開催情報や、ちょっと役立つ情報をお届けしています。

ほぼ毎日発行しています。

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

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

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

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

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

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

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

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

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

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

広告