Typoでlive search文字化け
Typoでのlive search文字化けについては多くのブログで解決策が示されています。 live searchの文字化けを修正 Typo2.6.0リリースとLive Searhの日本語バグ
最新でもやっぱり文字化けしているわけで。 僕も直してみました。
- Index: app/views/shared/_search.rhtml
- ===================================================================
- --- app/views/shared/_search.rhtml (revision 850)
- +++ app/views/shared/_search.rhtml (working copy)
- @@ -7,4 +7,4 @@
- :loading => "Element.show('search_spinner')",
- :complete => "Element.hide('search_spinner')",
- :update => "search-results",
- - :with => "'q=' + escape($F('q'))" -%>
- + :with => "'q=' + encodeURIComponent($F('q'))" -%>
という感じで1行直せばイケルはずです。(ブラウザはあまり確認してませんが・・・) あ、このファイルはテーマにも含まれてますので注意です。 てゆーかなんでencodeURIComponentじゃなくてescapeなんだろ・・・ ただこの方式だとキャッシュを再構築しないとダメなんでちょっとイヤだなー・・・。
FCKEditor
naoyaさんがTinyMCEについて書かれていますが、僕も以前使ったことがあります。 WYSYWIG な HTML エディタということでは、僕はこのページでも使ってるFCKeditorがオススメです。(実は昔TinyMCEからサーバーに日本語送った時に化けることがあったので(UTF-8で)それ以来FCKeditorなんですけど今はどうなんだろう・・・)
こちらもTinyMCEと同じく
* JavaScript で記述された * LGPL でオープンソースな * クロスプラットフォームの * 多言語対応もしてて * 簡単に使える
ライブラリなんです。かなり使いやすいですよ。
導入も簡単です。typoの場合、
- //app/views/admin/content/_form.rhtml
- <script src="http://inforno.net/FCKeditor_install_path/fckeditor.js" type="text/javascript"></script>
- <script language="javascript">
- Event.observe(window, "load", function(){
- var list = ["article_extended", "article_body"];
- for(var i=0,l=list.length; i <l; i++) {
- var fck = new FCKeditor(list[i]);
- fck.BasePath = "FCKeditor_install_path";
- fck.Config["CustomConfigurationsPath"] = fck.BasePath + "myconfig.js";
- fck.Height = 400;
- fck.ReplaceTextarea();
- }
- });
- </script>
こんな感じで初期化しています。IDを指定してこのtextareaを、というのも簡単ですね。
海外ではAPIを使ったデスクトップクライアントが結構人気みたいですけど、日本じゃあんまり使ってる人聞かない・・・Typoもデフォルトはデスクトップクライアント使え!みたいな感じなんですけどFCKeditorで一件落着。便利便利。