Support Forum
Welcome, Guest
Please
Lost Password? No account yet? Register
Re:文字化けについて (1 viewing) (1) Guest
Go to bottom Post Reply Favoured: 0
TOPIC: Re:文字化けについて
#9
slyme0530 (User)
Fresh Boarder
Posts: 3
graphgraph
User Offline Click here to see the profile of this user
文字化けについて 1 Year, 1 Month ago Karma: 0  
はじめまして。ススムと申します。
いきなりで申し訳ありませんが、joomlaについて質問があります。
現在、英語版のjoomlaを使用しているのですが、
ユーザーの名前の欄や、記事のタイトルの欄など、
日本語である程度の文字数を越えると文字化けしてしまいます。
大抵の場合は文字が化けて変な四角が表示されるのですが、
まれに文字化けがタグになって管理画面にまで影響を及ぼすことがあります。
これは日本語版のjoomlaにいれかえれば解決する問題なのでしょうか。
またはデータベースの設定かな…とも考えているのですが、
どこを直すべきか、どうするべきか解決方法が分かりません。

環境は……
joomlaのバージョンが1.0.13の英語版です。
サーバーはhetemlを使っています。

もしよろしければアドバイスをいただけないでしょうか。
よろしくお願いいたします。
 
Report to moderator   Logged Logged  
 
Last Edit: 2007/11/11 21:00 By slyme0530.
  The administrator has disabled public write access.
#10
Joomler! (User)
Gold Boarder
Posts: 234
graph
User Offline Click here to see the profile of this user
Re:文字化けについて 1 Year, 1 Month ago Karma: 2  
日本語版を使わないと1.0.xでは、日本語に対応していません。

試したわけではありませんが、日本語を使うなら日本語版で英語を使わなければなりません。
それは、UTF-8に対応していないからです。言語の処理が、1.0.xではマルチバイトに対応したものを使っていません

ただ、日本語版でも言語処理部分が全てマルチバイトになっているわけではないようです。
サイトで使用しているAlphaComponentを使ってみてはじめてわかったのですが、あまり使われていない関数は、マルチバイト化されていない 部分もあるようです。
普段使う分には問題ありません。調べるならincludes/ joomla.phpを開いてstr_lenや、substrで検索してみると良いです。
str_lenは、文字数を調べる関数です。これに対応するマルチバイトな関数は、mb_strlen。また、substrにはmb_substrが そうです。

Joomla!1.5では、言語処理が独自に実装されているようです。
マルチバイトに影響する処理は全て独自実装しているstr_lenや、substrな処理がされているようです。
ですが、まだRCなので・・・どうでしょう。

私的にはJoomla!じゃぱんで配布されている1.0.13jpが一番最適なマルチランゲージな、Joomla! CMSだと思います。
 
Report to moderator   Logged Logged  
  The administrator has disabled public write access.
#11
slyme0530 (User)
Fresh Boarder
Posts: 3
graphgraph
User Offline Click here to see the profile of this user
Re:文字化けについて 1 Year, 1 Month ago Karma: 0  
丁寧な返信ありがとうございます!
なるほど、マルチバイトに対応していないからでしたか。

joomlaでは英語版でも日本語に翻訳したランゲージファイルが使えたので
日本語には対応しているのかと考えていましたが翻訳のみだったんですね。

・現在コンポーネントやモジュールなどほとんどのものが英語版だったこと
・ネット検索しても日本ではまだjoomlaが普及してないのか資料が少なかったこと

この二点で英語版を選んでみたのですが、ずっと文字化けに悩まされてきました。
ユーザー参加型のウェブサイトを構築しようとしていたので、文字化けはかなり大きな悩みです…。
自分が記事を書くだけだったら文字数に気をつけていれば良かったので

Joomler! さんのアドバイス通り、日本語版に変更しようと思うのですが、
日本語のjommlaに移行するにあたってデータベースも全て作り直したほうがいいでしょうか?
http://forum.joomla.jp/component/option,com_smf/Itemid,37/topic,426.msg1364 http://forum.joomla.jp/component/option,com_smf/Itemid,37/topic,351.0/

上記のURLのようにjoomla!じゃぱんのフォーラムにデータベース移行に関して
参考になるページを見つけたのですが、
私はjoomla!初心者なので全て入れなおしたほうが無難かな、と思うところもあります。

言語が違ってもjoomlaのバージョンが同じなので上書き!!…というようにはいかないですよね

お返事頂ければ嬉しいです。
 
Report to moderator   Logged Logged  
  The administrator has disabled public write access.
#12
Joomler! (User)
Gold Boarder
Posts: 234
graph
User Offline Click here to see the profile of this user
Re:文字化けについて 1 Year, 1 Month ago Karma: 2  
私ならこうします。

データベースをphpMyAdminを使ってローカルファイルに保存します。
その際(エクスポート)、phpMyAdminのオプションが選択出来る画面になりますのでDROP TABLEを追加とIF NOT EXISTS、AUTO_INCREMENTにチェックを入れます。
他はそのままで大抵OKです。それからファイルに保存するにチェックを入れ実行します。必ず2つ同じ物を保存した方が良いと思います。保存してからコ ピーしても良いですが。それは、ファイルを開いて壊してしまうことのためです。

phpMyAdminが使えない環境ならJombackupなどのエクステンションでデータベースのバックアップをしてください。

データベースのバックアップしたファイルをテキストエディタなどで開きUTF-8で表示してみて日本語がそのまま表示されれば、それはUTF- 8で保存されているのでそのまま使えると思ってよいと思います。

データベースのインポートの確認
保存したファイルからデータベースに書き戻しができるかを確認します。(phpMyAdminからならおそらく大丈夫とは思いますが念のため)
複数のデータベースを持てるなら別のデータベースを作成し、先ほどのバックアップしたデータベースの現在使っているデータベース名部分を新規に作成し たデータベース名に書き換えます。(これをやっていないと上書きしてしまいます。)新規に作成した空のデータベースを開きインポートします。
正常にインポートできれば、OKです。できなければそのエラーを見て対策しなければなりません。

複数のデータベースを持てない場合。
一発でやるか・・・。
面倒だが、バックアップしたデータベースファイルを開きデフォルトならjos_とかついているテーブルのプレフィクスをすべて異なる名前に変更してイ ンポートします。

私なら面倒なのでそんなことしません。


サイト全体のファイルのバックアップをとります。(これすらしないかもしれません。)

一番安全な方法
サイトにフォルダをひとつつくり、そこに1.0.13jpをインストールして既存サイトにインストールしているエクステンションもすべてインストール します。正常にサイトが動くように設定します。その際、既存サイトと同じデータベースならデータベースのプレフィクスを変えなければならないことに注 意してください。
データベースをインポートします。その際、データベースファイルを開きデフォルトならjos_とついている部分を上で設定したプレフィクスに置き換え ます。
正常にサイトが動くなら、FTPなどから再度フォルダを作成し、そのフォルダに既存サイトすべてを移動します。
そして1.0.13jpをインストールしたフォルダからすべてを既存サイトルートへ移動させます。
移動が完了したら、configuration.phpを開き、$mosConfig_absolute_pathと、$mosConfig_liv e_siteなどフォルダに関係のある部分をサイトルートに変更し上書きしてください。

でも、面倒なので私ならデータベースを保存してから以下です。
ちょっと危険だけどま、いけるかなという方法
サイトを全部削除して、1.0.13jpをエクステンションも含めて全てインストール。動作確認後、データベースをインポートします。

もうひとつ1.0.13jpファイルすべて上書きという手もあります。
configuration.phpのみ上書きせず、他ファイルすべて上書きです。
上書きしてからパーミッションのチェックをしなければいけません。管理画面のシステム情報でチェックできます。

htaccess.textについて
htaccess.txt内の必要な部分のみコメントアウトを外してください。そこには、日本語表示に関わる重要な設定が書かれています。
システム情報の推奨PHP設定の赤い部分をみながらhtaccess.txtの該当部分のコメントアウトを外します。

最後に・・・
間違ってたらゴメン。
 
Report to moderator   Logged Logged  
 
Last Edit: 2007/11/12 16:10 By Joomler!.
  The administrator has disabled public write access.
#14
slyme0530 (User)
Fresh Boarder
Posts: 3
graphgraph
User Offline Click here to see the profile of this user
Re:文字化けについて 1 Year, 1 Month ago Karma: 0  
詳しく教えて頂きありがとうございます。
まずは教えていただいたことを参考にデータベースをバックアップして
日本語版に移行できるか早速トライしてみようと思います。
今後のことも考えて練習としてもやってみたほうがいいかな、と。
親切なアドバイス、本当に感謝します!
またトライしてみてご報告しますね。
 
Report to moderator   Logged Logged  
  The administrator has disabled public write access.
Go to top Post Reply
Powered by FireBoardget the latest posts directly to your desktop