Jul 05, 2008, 11:08 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
modxcms.com web
  MODxCMS.com   Forums   Help Login Register  
News:Donate to MODx: Donations
Pages: [1] 2   Go Down
  Print  
Author Topic: モジュール「QuickEdit」での文字化け対応  (Read 7950 times)
0 Members and 1 Guest are viewing this topic.
yama
Moderator
*
Posts: 426


MODx研究中


WWW
« on: Mar 09, 2006, 05:37 PM »

管理画面にログインすると表のページ(?)に表示される便利なQuickEditバーですが、
Firefoxで編集するとページの内容がハデに文字化けしてしまうことが分かりました。
Firefoxのバージョンは最新の1.5です。

以下のように対応しましたが解決できませんでした。
(この作業自体は合ってると思うのですが…)

assets/modules/quick_edit/lang/english.inc.phpを「japanese-euc.inc.php」と
いう名前でコピーする。

japanese-euc.inc.phpをテキストエディタで開いて、以下のように書き換える。

Quote
$_lang['QE_lang'] = 'en';
$_lang['QE_xml_lang'] = 'en';
$_lang['QE_charset'] = 'iso-8859-1';
こうなっているところを、

Quote
$_lang['QE_lang'] = 'ja';
$_lang['QE_xml_lang'] = 'ja';
$_lang['QE_charset'] = 'euc-jp';
このように。

english.inc.phpと同じディレクトリにアップロード。

« Last Edit: Mar 09, 2006, 06:11 PM by yama » Logged
takumi
Full Member
***
Posts: 109


WWW
« Reply #1 on: Mar 09, 2006, 10:42 PM »

うちはUTF-8ですが、EUCでも特に文字化けする事は無いです。
どう言う仕様のサーバーをご使用なのか分かりませんが、.htaccessファイルが使えるなら
mbstring.internal_encoding
mbstring.http_output
mbstring.http_input
を指定するのも良いかも知れません。
(詳しい設定はgoogle先生で検索して下さい)
もっともAjaxな部分なんで実際にこれが有効かは怪しい所ですけど。 Grin
Logged
yama
Moderator
*
Posts: 426


MODx研究中


WWW
« Reply #2 on: Mar 10, 2006, 01:27 AM »

サーバはxreaを使っています。takumiさんのアドバイスを参考に
他のサイトで試してみると…さくらのレンタルサーバでは確かに
化けませんでした。うーん?
mbstring関係、あとで試してみます。
Logged
yama
Moderator
*
Posts: 426


MODx研究中


WWW
« Reply #3 on: Mar 10, 2006, 02:05 AM »

mbstring.encoding_translationをonにすることで解決しました。
MODxが使えるレンサバトピにも追記しておきます。

http://modxcms.com/forums/index.php/topic,2573.0.html
« Last Edit: Mar 10, 2006, 06:34 AM by yama » Logged
eastbind
Moderators
*
Posts: 252


This ideograph means LOVE! I love MODx.


WWW
« Reply #4 on: Apr 09, 2006, 10:04 AM »

皆様。
QuickEditモジュールでの文字化けに付きまして、
附属のjapanese-utf8.inc.php
フォーラムにアップされているjapanese-euc.inc.php、japanese-sjis.inc.php
以上のいずれかのファイルをお使いで、
mbstring.encoding_translation   Off
mbstring.http_input   pass
の設定で、問題の発生する方々がいらっしゃいましたら、事例を伺いたいと思います。
クライアントのOS、ご使用のブラウザ、
文字化けの箇所と、どんな文字が表示されるのか
編集で問題が無いか
問題があるとすると具体的にどんな問題なのか
是非お聞かせください。
できる限り対処していきたいと思います。宜しくお願いいたします。
« Last Edit: Apr 09, 2006, 10:09 AM by eastbind » Logged
nobokonoko
Jr. Member
*
Posts: 46


« Reply #5 on: Apr 09, 2006, 11:00 AM »

>>eastbindさん
すいません。文字化けの原因は、QE用の言語ファイル作らずに、デフォルトまま使っていた為でした。
mbstring.encoding_translation   Offで文字化けしませんでした。

以下、メモ書き
Quick Edit用の言語ファイルは
Code:
  $lang = $modx->config['manager_language'];
  $qe_path = $base_path.'/'.$GLOBALS['quick_edit_path'];
  $qe_eng_path = $qe_path.'/lang/english.inc.php';
  $qe_lang_path = $qe_path.'/lang/'.$lang.'.inc.php';
  $manager_lang_path = $base_path.'manager/includes/lang/'.$lang.'.inc.php';
というように、Modx本体の設定が反映されるので、本体用の言語ファイルと一字一句同じ名前にしなければ反映されない。

間違えそうなところはこの辺くらいだと思うのですがどうでしょう?
Logged
eastbind
Moderators
*
Posts: 252


This ideograph means LOVE! I love MODx.


WWW
« Reply #6 on: Apr 09, 2006, 11:18 AM »

nobokonokoさん。
QE用の言語ファイルを作らなくても大丈夫なはずなんですが...

http://modxcms.com/forums/index.php/topic,2488.0.html
こちらのjapanese-euc.inc.phpをお使いではないのでしょうか?
附属のjapanese-utf8.inc.phpのエンコードを変更するときには、
1040行目を変更する必要があるので、別途アップロードしているのです。
Logged
nobokonoko
Jr. Member
*
Posts: 46


« Reply #7 on: Apr 09, 2006, 11:35 AM »

あれ、本当ですね。Quick Editの設定項目も本体の言語ファイルに入ってますね。
僕の使っているファイルは、付属のを自分でエンコーディング変更したものですが、1038〜1040行は変更してありますよ。
Logged
eastbind
Moderators
*
Posts: 252


This ideograph means LOVE! I love MODx.


WWW
« Reply #8 on: Apr 09, 2006, 12:09 PM »

nobokonokoさん。
とりあえず、お聞きしておきたいのは表示の文字化けは無いわけですね?
内容の編集はいかがでしょうか?
safariでも問題ありませんでしょうか?

UTF-8では、safariでぜんぜん問題なく、ページの編集ができちゃうのです。
Logged
nobokonoko
Jr. Member
*
Posts: 46


« Reply #9 on: Apr 09, 2006, 12:29 PM »

幸か不幸か、mbstring.encoding_translation   Offにしても文字化けが再現しません。
以前は確かに文字化けをしたのでこのトピを見て変更したのですが Huh

只、気になった点が二つあります。

本体のjapanese.inc.phpのQE用項目と、quickedit/lang/english.inc.phpの設定項目数が違います。
Code:
$_lang['QE_lang'] = 'en';
$_lang['QE_xml_lang'] = 'en';
$_lang['QE_charset'] = 'iso-8859-1';
$_lang['QE_title'] = 'QuickEdit'; // please change only if it violates local trademarks
$_lang['QE_show_links'] = 'Show links';
$_lang['QE_hide_links'] = 'Hide links';
$_lang['QE_someone_editing'] = 'Someone else is editing this document';
$_lang['QE_cant_find_content'] = 'Could not find content to edit';
$_lang['QE_description'] = 'Edit pages from the frontend of the site';
$_lang['document_opt_hide_menu'] = 'Hide in menu';
$_lang['revert'] = 'Revert';
$_lang['apply'] = 'Apply';
$_lang['revert_prompt'] = 'Undo ALL of your edits?';
$_lang['QE_no_edit_rights'] = 'No edit rights';
$_lang['ok'] = 'OK';
$_lang['setting'] = 'Settings';
$_lang['go'] = 'Go';
訳さなくても分かるような項目ばかりですが、、

それと、quickedit/lang/japanese-xxx.inc.phpを置いた場合は、
ポップアップされたQuickEditの編集ウィンドウ自体のcharsetがきちんとeuc-jp等になるのですが、
置かないと、iso-8859-1になっちゃいます。
Logged
eastbind
Moderators
*
Posts: 252


This ideograph means LOVE! I love MODx.


WWW
« Reply #10 on: Apr 09, 2006, 12:43 PM »

nobokonokoさん。
編集は大丈夫だとすると、同じAjaxなのにどうしてQuickEditは大丈夫なのか?
その辺にいろいろありそうです。

一度、試しにquickedit/lang/japanese-xxx.inc.phpをそのディレクトリからはずしてみて、
文字化けが起こるかどうか確認していただけないでしょうか?
無理に、すぐにとは言いませんので。

追伸:
理由は$manager_lang_pathが本体用言語ファイルで、しかも一番最後に読み込まれるからです。つまり$_langは上書きされているのです。

他の方、いかがでしょうか?文字化けします、という方いらっしゃいませんか?
« Last Edit: Apr 09, 2006, 01:20 PM by eastbind » Logged
nobokonoko
Jr. Member
*
Posts: 46


« Reply #11 on: Apr 09, 2006, 01:02 PM »

以前は化けていたのですが、QE用ファイルを抜いても化けません。
理由が良くわかりません。
yamaさんはその後文字化けはどうなのか聞いてみたいところですが、今日は落ちます。。。
Logged
yama
Moderator
*
Posts: 426


MODx研究中


WWW
« Reply #12 on: Apr 09, 2006, 06:39 PM »

どうも、お待たせです。こちらは、xreaのサーバ・EUC-JP・Firefox1.5(WindowsXP)・QuickEditの
組み合わせで文字化けが発生し、対処したという状況でした。
で、その後なんですが。なぜか通常の管理画面をIEで開いてドキュメントを編集した時に
文字化けが発生し(対処時に確認したと思うのですが)、結局、mbstring.encoding_translationの
記述を外してしまいました。QuickEditモジュールも機能を無効にしました。
という現状です。
また改めて検証してみようと思っています。
Logged
nobokonoko
Jr. Member
*
Posts: 46


« Reply #13 on: Apr 10, 2006, 07:29 AM »

うーん、やっぱり文字化けが出ない Huh

只、文字化け確認した後、一回(実は数回)、データベース削除して構築仕直してます。
その際にSQLで
Code:
ALTER DATABASE `データベース名` DEFAULT CHARACTER SET euc-jp COLLATE ujis_japanese_ci;
を実行してるんですね。(確か)
これがうまいこと働いたのかな?とは思ってます。

それと、(当時の)文字化けの症状ですが、表示等は一切化けず、編集して保存すると、文章が化ける。
といった具合だった(はず)

ちょっと今、xreaが酷いことになってるので、いろいろ調べるのはもうちょっとしてからにしたいと思います。
Logged
yama
Moderator
*
Posts: 426


MODx研究中


WWW
« Reply #14 on: Apr 10, 2006, 07:54 AM »

万一に備えて、xreaで作ったサイトのデータを片っ端からバックアップ中。
xreaが落ち着いたら僕も試してみます。
Logged
Pages: [1] 2   Go Up
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP

Copyright © 2005-2008 MODxCMS, All rights reserved. Contact Us
Styles by ziworks.com

Powered by SMF 1.1.4 | SMF © 2005, Simple Machines LLC

Valid XHTML 1.0! Valid CSS!