OpenNoteのインストール方法(文字化け対策) | PHP | みどりのウェブ開発日記

OpenNoteのインストール方法(文字化け対策)

カテゴリ: PHP

記事投稿日: 2014年3月28日



MOONGIFTさんのところで紹介されていたオープンソースの「OpenNote」。
Evernote や Dropbox は便利ですが、会社によっては使用禁止になっていたり、
そもそも未来永劫続くか分からない会社に、こつこつと大事なデータを
積み上げることに不安を抱かずにはいられない人も多いのでは、と思います。
しかしプログラマならスニペットをはじめ、日々の業務で培った貴重な経験と
知識をどこかに集約しておきたいもの…。
以前からこの手のオープンソースを探していたり、自分で作ってみたりしていたのですが、
なかなかしっくりきませんでした。

今回見つけた「OpenNote」はEvernoteのクローンを目指して作られています。
Evernoteの簡易版といったところですが、使い勝手がよさそうなので、
さっそく導入してみました。
インストールは分かりやすい英語で書かれていて、作業も簡単なのですが、
そこは英語圏のオープンソース…。「ロリポップ!」チカッパプランでの運用ですが、
日本語が文字化けしました。
以下、対応策です。

テーブルの文字セットを変更

ALTER TABLE folder CHARSET=utf8;
ALTER TABLE note CHARSET=utf8;
ALTER TABLE users CHARSET=utf8;

カラムの文字セットを変更

phpmaysdminなら、カラムの「変更」をクリックして、保存するだけです。
noteテーブル、folderテーブル、uploadsテーブルの該当箇所を
以下のように変更します。
<修正前>latin1_swedish_ci → <修正後>utf8_general_ci

POST、GETの処理を修正

controllerフォルダ内のUtil.phpを修正します。
エンティティ処理にUTF-8の引数を追加します。

17行目

$_POST[$key] =   htmlentities($val, ENT_QUOTES, "UTF-8");
$key =   htmlentities($val, ENT_QUOTES, "UTF-8");

29行目

$_GET[$key] = stripslashes(strip_tags(htmlspecialchars($val, ENT_QUOTES, 'UTF-8')));
$key = stripslashes(strip_tags(htmlspecialchars($val, ENT_QUOTES, 'UTF-8')));

以上で文字化けが直りました。
ちなみにインストール手順は以下の通り。

・OpenNote というデータベースを作成(ロリポップでは半角英数しか使えないので適宜変更)
・/Config.php のデータベース設定を変更(ここでOpenNoteというデータベース名を
作成したデータベースの名前に変更すればOK)
・OpenNote というフォルダをサーバに設置(こちらも適宜変更可能)
・model/sql フォルダ内の notebook.sql をDB上で実行する
・OpenNote のフォルダにアクセスする
・データベースが正しく作成されていれば、ユーザ登録ができ、直後にリダイレクトされ
トップページに入ることができる。

すでに独自に日本語化して使われている人もいます。
メニューもシンプルなので、私もやってみたいと思います。
その他、気がついたことがあれば追記します。








コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA




トップに戻る