文字化け

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
  • このトピックは管理者もしくはモデレータによりロックされています

なし 文字化け

msg# 1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 .5 .6 .7 .8 | 投稿日時 2011/5/23 8:08
Tee 
はじめまして。少年ソフトボールチームのサイトを運営しています。
いい感じのスコアブックだと思いインストールさせていただいたのですが、自チーム名、対戦相手名などで文字化けが発生しています。データベースの設定かとも思うのですが、選手情報だけは正常です。で、ソースを調べると、選手登録時のformだけ
<FORM action="./index.php?action=EditMemberdetail" method="post" name="editmember" enctype="multipart/form-data">
となっているようで、ひょっとしてこのenctype="multipart...."があればうまくいくのか試してみようと思い、とりあえず自チーム登録について調べていたのですが、解析しきれませんでした。(^^;
何か対策等ご教示いただければ幸いです。よろしくお願いいたします。
投票数:4 平均点:7.50

なし Re: 文字化け

msg# 1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011/5/23 11:05
uemera  管理人   投稿数: 138
Teeさん

uemura@作者です。

enctype="multipart...." は今回の文字化けとは関係ないです。

おそらくMySQLの文字コードがおかしいのではないかと思います。
まずは、XOOPSの全般設定から、お使いの文字コードを確認して下さい。
ja_utf8(=UTF8)をお使いか、japanese(=EUC)をお使いか確認の上、
phpMyAdminなどでMySQLのテーブルを覗き、言語設定を確認して下さい。

WebScoreRevolution関係のテーブルはwebscorerevlutionという名前がついているのですぐに分かると思います。

見るべきポイントは、
・データベース自体の文字コード(照合順序)
・各テーブルの文字コード(照合順序)
・テーブル内の各レコードの文字コード(照合順序)

UTF8の場合は utf8_general_ci
EUCの場合は ujis_japanese_ci

になっている必要があります。

もし違う場合は、
1. いったんWebScoreRevlutionをアンインストールし、
2. データベースの文字コード(照合順序)を正しいものに変えて
3. WebScoreRevolutionをインストールする。
4. データベースのWebScoreRevolution関連のテーブルと列の文字コード(
照合順序)が適切であるかを確認する。
5. 成績データを登録してみる。

の順序で試してみてください。
投票数:5 平均点:6.00

なし Re: 文字化け

msg# 1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011/5/23 19:42
Tee 
迅速な反応をいただき恐縮です。

xoopsは5、6年前に使ったままでしたので、今回現行バージョンをインストールしなおしたのでした。あらためて確認しましたが、たしかにxoopsのベーシックな部分で文字化けも出ています。(^^; ですので、mysql間の設定のようですね。xoopsの文字化けで検索しましたが基本eucのように読めました。ですからmysql側をeucににしていけばいいのかもしれませんが、utf8で他でも使っていますのでmysql自体は大きくは触りにくいです。それで、なんで選手登録だけうまくいくのかなぁと思ったわけでした。

ご教示の手順に沿って少し調べてみます。ありがとうございました。
投票数:2 平均点:5.00

なし Re: 文字化け

msg# 1.2
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011/5/25 7:25
Tee 
・データベース自体の文字コード(照合順序)
・各テーブルの文字コード(照合順序)
をutf8_general_ciにしましたが、変わらないです。各レコードの照合順序をどこで確認、または設定するのか調べている段階ですがよくわからない……。
やはり選手登録だけは正常に表示されます。


投票数:1 平均点:10.00

なし Re: 文字化け

msg# 1.3
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011/5/25 9:57
uemera  管理人   投稿数: 138
XOOPの本体でも文字化けが起きているということでしたので、まずはXOOPS本体での文字化け解消に絞って解決を試みた方がいいと思います。
WebScoreRevolutionの文字化けもそれに伴って解消される可能性がありますので。

とはいえ、MySQLの設定を変えて問題解決にあたろうとした場合、かなり時間がかかることが予想されます。
可能ならば、現状のXOOPS環境は思い切って削除して、
新たにXOOPSを新規インストールして、文字化けが起こらない環境をつくって行った方が近道じゃないかと思います。

なお、僕の経験上、言語環境はUTF-8の方が問題が出にくいと思います。
最新のXOOPSではUTF-8がに標準になってきているみたいですし。
投票数:2 平均点:5.00

なし Re: 文字化け

msg# 1.4
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011/5/25 12:42
Tee 
反応ありがとうございます。
すみません、xoopsのほうの文字化けはmysqlの設定と再インストールで解消しました。といっても、他のモジュール等使っていないので、設定画面で出ていたのが解消したというだけなんですが。
化けているデータをphpmyadminで書き直すと表示されるので、データが書き込まれるときにeucでいってるということなのかなぁと、調べているところです。

ところで自チームの名前ですが、どこに格納されるのでしょうか? たどってみましたがわからなくて……。(^^;
投票数:1 平均点:10.00

なし Re: 文字化け

msg# 1.5
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011/5/25 13:18
uemera  管理人   投稿数: 138
自チームの名前は、XOOPSのconfigテーブルに入っています。
configテーブルは、通常はxoops_configという名前になっているかと思います。

その中の、conf_name列が"bbsb_ownteamname1"
のレコードがそうです。

データベースを直接書き換えたら問題が解消するということであれば、やはりWebScoreRevolutionインストール時のMySQL照合順序がおかしいです。
インストール直後に、各テーブルの照合順序をphpmyadminから手で直していけば、修正後に登録した成績データは文字化けせず正しく表示されるのではないかと思います。
投票数:2 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011/5/28 7:05
Tee 
データベースを別に作り、設定をutf8でそろえたり、eucでそろえたりしてみましたが、うまくいきませんでした。
しばらく休憩です……。(^^;

ご教示の、照合順序を手で直していくというのは、たとえばutfにしたいときに、インストール直後にそういう表示になっていても、あらためて手で設定しなおすということでしょうか?

あ、いずれも選手登録だけは正常です……。
投票数:1 平均点:10.00

なし Re: 文字化け

msg# 1.6
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011/5/28 9:22 | 最終変更
uemera  管理人   投稿数: 138
> 照合順序を手で直していくというのは、たとえばutfにしたいときに、インストール直後にそういう表示になっていても、
> あらためて手で設定しなおすということでしょうか?

はい、そうです。

間違った照合順序のままデータベースに登録されたデータは文字化けしてしまいます。
ですので、データベースにデータを登録する前に、照合順序が正しくなっていることが必要です。
しかし、テーブルはモジュールがインストールして初めて作成されますので、モジュールインストールを先にしないと照合順序を操作できません。

つまり以下の手順です。
1. WebScoreRevolutionをインストールする。
2. データベースのWebScoreRevolution関連のテーブルと列の文字コード(照合順序)を正しいものに変更する。
3. 成績データを登録してみる。
投票数:1 平均点:10.00

なし Re: 文字化け

msg# 1.7
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011/5/31 21:31
Tee 
結局、xoopsの文字化けも解決していなかったことがわかりまして、試行錯誤しておりました。
あまり詳しく調べる時間もないのですが、どうもmysql5との相性云々がある感じで、いくつかのパッケージをインストールしたあげく、
http://xoopscube.jp/forum/6684
のもので文字化けしなくなりました。しかしもうちょっとわかりやすくしてほしいような……。

お騒がせしましたが、webscorerevolutionも問題なさそうです。
参考までにこちらの環境は、coreserverで、
mysql 5.1.22-rc、php 5.2.5 です。utf8です。

ではさっそく入力していきたいと思います。(^^)
ありがとうございました。

投票数:2 平均点:5.00

なし Re: 文字化け

msg# 1.8
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011/5/31 21:52
uemera  管理人   投稿数: 138
Teeさん

問題が解消したようでおめでとうございます。

確かにXOOPSの言語設定は、別途ファイルを置き換えたりしないといけないので面倒です。
フリーソフトなのでそのへんの使いづらさは我慢して使うしかないのかなとは思いますが...
投票数:1 平均点:10.00

  条件検索へ