現在位置: Top/EUC-JPなMySQLにOpenPNE
- 追加された行はこの色です。
- 削除された行はこの色です。
- EUC-JPなMySQLにOpenPNE へ行く。
- EUC-JPなMySQLにOpenPNE の差分を削除
*EUC-JPなMySQLにOpenPNE land.toにOpenPNEを設置してみました。 このland.toはMySQLがEUC-JPしか受け付けないようで、 初期状態ではOpenPNEが文字化けしていました。 **OpenPNEの解凍と変換 +圧縮ファイルを解凍後、OpenPNE内のpublic_htmlをsnsとリネームする。 +sns内のconfig.inc.phpの設定をし、land.toのpublic_htmlへ移動。 +OpenPNE内の他のフォルダ内のファイルをすべてEUC-JPにコンバート。 +OpenPNE/webapp内のUTF-8という文字列をすべてEUC-JPに置換。 ※コンバートや置換は、自動化させないと途方もない作業になります。 ※webapp以外のUTF-8もEUC-JPへ置換してしまうとメールが文字化けしてしまいました。 +OpenPNE/config.php内のUTF-8もEUC-JPへ置換。 +OpenPNEはpublic_htmlと並列にルートへアップロード。 ***コンバートと置換を一括処理 コンバートと置換の一括処理の一例 #!/bin/bash CONVERT_HOME="/tmp/OpenPNE" for f in `find $CONVERT_HOME` do if [ -f "$f" ] ; then nkf -d --euc $f > "$f"_tmp mv "$f"_tmp "$f" fi done for f in `find $CONVERT_HOME/webapp` do if [ -f "$f" ] ; then sed -e 's/UTF-8/EUC-JP/g' "$f" > "$f"_tmp mv "$f"_tmp "$f" fi done exit 0 **データベースの設定 +データベースの設定は、phpMyAdminでSQLを実行する。 +文字コードはEUC-JP。 あとは説明書通りの設定で。 **RSSの取得で文字化けを修正 **ブログのタイトル一覧が文字化け RSSの取得で文字化けを修正 OpenPNE/lib/PNE/RSS.php function convert_encoding($string) { // if (!$this->charset) { // return $string; // } // return mb_convert_encoding($string, $this->charset, MAGPIE_OUTPUT_ENCODING); return mb_convert_encoding($string, "EUC-JP", "auto"); } RSSを取得したとき、とにかくEUC-JPに変換してしまおう!! **日付が代入されない 「%m月%d日」と数値が代入されません。 OpenPNE/webapp/lib/smarty_plugins/modifier.date_format.php return preg_replace_callback('/\%[a-z\%]/iu', という部分の「iu」→「i」とします。 uというのは、UTF-8を前提としているという意味なので、この1文字を削除するだけでOK。 **cronを遠隔操作(おまけ) +/public/sns/binをいうディレクトリを作成し、 /OpenPNE/binのファイルをコピー。 +*.php内の require_once './config.inc.php'; という行を define('OPENPNE_DIR', realpath('/home/httpd/xxx/openpne')); require_once OPENPNE_DIR . '/config.php'; と置き換える。 +これを自宅のローカルサーバーでcronする。 01 6 * * * wget -q -O - http://xxx.land.to/sns/bin/tool_send_daily_news.php 02 6 * * * wget -q -O - http://xxx.land.to/sns/bin/tool_send_birthday_mail.php 03 6 * * * wget -q -O - http://xxx.land.to/sns/bin/tool_schedule_mail.php */20 * * * * wget -q -O - http://xxx.land.to/sns/bin/tool_rss_cache.php