「MySQL関係」の編集履歴(バックアップ)一覧に戻る
MySQL関係」を以下のとおり復元します。
*sjisでの文字化けを回避するための方法

**MySQLの設定
-下記のような状態になるように設定する。
-MySQLとconnectした後にset names sjis;を発行する。

  mysql> SHOW VARIABLES LIKE 'character\_set\_%';
  +--------------------------+--------+
  | Variable_name            | Value  |
  +--------------------------+--------+
  | character_set_client     | cp932  |
  | character_set_connection | cp932  |
  | character_set_database   | cp932  |
  | character_set_filesystem | binary |
  | character_set_results    | cp932  |
  | character_set_server     | cp932  |
  | character_set_system     | utf8   |
  +--------------------------+--------
  7 rows in set (0.00 sec)

● システム変数の用途

character_set_system
  "indentifiers" (テーブル名とかカラム名?) を格納するのに使われる。
  utf8で 固定。

character_set_server
  character_set_database のデフォルト値に影響する。
  
character_set_database
  CREATE DATABASE で文字コードが指定されなかった場合、database の文字コー
  ドはこれになる。
  character_set_connection の値に影響する

character_set_client
  クライアントから渡された SQL 文はこの文字コードであると解釈される。

character_set_connection
  キャラクタセットイントロデューサ (例えば『_ujis'ほげ'』)が省略された
  SQL 文中の文字列リテラルはこの文字コードであると解釈される。

character_set_results
  サーバーがクライアントに返す結果をこの文字コードに変換する。
  この変数を NULL にセットすると、結果に対する文字コード変換をしないよ
  うにできる。

**Linux での mysql.cnfの設定
win用と同じ設定にしてもうまくいかなっかった。グローバル値は上記のようになったが、セッション値はujisになった。よって自動変換をしないようにskipしたら直った。

**null の演算
-Accessの場合はNz()関数
-MySQLではcoalesce() 関数は、最初の null でないデータを返す。 coalesce($変数,0) 

 select coalesce(null, 'abc', 'def');
 
 +------------------------------+
 | coalesce(null, 'abc', 'def') |
 +------------------------------+
 | abc                          |
 +------------------------------+

復元してよろしいですか?

人気記事ランキング
目安箱バナー