ホームページ作成の小技-BreathTake-

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--------(--) --:-- スポンサー広告 編集 |

NucleusをMySQL5にアップデート

■MySQL5へ移管した際の注意
NucleusCMSで使用しているデータベースを「MySQL5」にバージョンアップした際、Nucleusの管理画面を見ると以前に入力していた文字が全部文字化けしている場合があります。
MySQL4からMySQL5への移管時に文字コードの設定を間違えたのかと思い、サーバー上の「MySQLAdmin画面」を開いて、該当するテーブルを見ると文字化けしないで表示されています。
そのような場合は、下記の手順でnucleus/libs/ディレクトリにある「globalfunctions.php」を変更すれば文字化けが無くなるようです。
■解決方法
①nucleus/libs/ディレクトリにある、globalfunctions.phpと言うファイルを捜します。
②ファイルが見つかったら、それを開き、function sql_connect()と言う文字を検索します。
③下記のプログラムに、赤字部分を追加します。
function sql_connect() {
  global $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE, $MYSQL_CONN;
  $MYSQL_CONN = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD) or startUpError('

Could not connect to MySQL database.

', 'Connect Error');
  mysql_select_db($MYSQL_DATABASE) or startUpError('

Could not select database: ' . mysql_error() . '

', 'Connect Error');
/*/
  $resource = sql_query("show variables LIKE 'character_set_database'");
  $fetchDat = mysql_fetch_assoc($resource);
  $charset = $fetchDat['Value'];
  $mySqlVer = implode('.', array_map('intval', explode('.', mysql_get_server_info($MYSQL_CONN))));
  if ($mySqlVer >= '5.0.7' && phpversion() >= '5.2.3') {
     mysql_set_charset($charset);
  } else {
     sql_query("SET NAMES " . $charset);
  }
//
*/

  ##以下追加開始
   mysql_query("SET NAMES eucjpms");
  ##以下追加終了

  return $MYSQL_CONN;
}
④これで、文字化けは無くなります。
(注)Nucleus3.51ではこの項目がコメントアウトされているようです。
スポンサーサイト



管理者にだけ表示を許可する
Top
http://akb48boys.blog39.fc2.com/tb.php/1-567cd90f
copyright © 2011 BreathTake all rights reserved. / Template By innerlife02
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。