カテゴリ: 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
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 のフォルダにアクセスする
・データベースが正しく作成されていれば、ユーザ登録ができ、直後にリダイレクトされ
トップページに入ることができる。
すでに独自に日本語化して使われている人もいます。
メニューもシンプルなので、私もやってみたいと思います。
その他、気がついたことがあれば追記します。
コメントを残す