Nucleus 文字化け対策!これで直った!

  • このエントリーをはてなブックマークに追加

私はバージョンアップしないまま、非公開のNucleusサイトを持っています。

なんとバージョンは驚きの、Nucleus CMS v3.3!もはや誰も使ったいないであろう奇跡バージョン!
一般公開していないので、セキュリティ—的にも特に気にせず使っていますが、ある日文字化け!何もしていないのに、


Xserverで大規模なシステム調整が入ったようで、PHPの文字コードに関するデフォルト設定がuft-8に強制的に変更されてしまいました。そのため、EUC-JPの私のサイトは文字化けしたようです。データベースを見ても化けておらず、あくまでも表示の時の文字化け、これは解決できそうです。



まず、Nucleusサイトのファイル構造を見て、sql関係の場所を探ります。

気になる箇所はここです。「nucleus/libs/globalfunctions.php」ここにはsql文がまとめて入っています。
480行辺りに関係ありそうな部分が。ここですね、ここでmysql_queryの時の文字コードを「ujis」にセットするようにします。これで文字化け解消!以外に簡単でしたね!



/**

* Connects to mysql server

*/

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’);

mysql_query( ‘set character set ujis’ ); //2019.7.29 文字化け対策で追加!

return $MYSQL_CONN;

}

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。