「文字化け」に関しての質問

困った時はこちらで質問してください。回答を担当する人は特に決まっていませんので、分かる方は回答をお願いします。
アバター
YASU

「文字化け」に関しての質問

投稿記事by YASU » 2005/12/09 17:19

はじめまして、YASUと申します。
ZEN CARTをインストールしたのですが、「文字化け」が発生して対処方法がわからず質問をさせていただきます。

症状としては、
1、「管理ページ」内の「一般設定」部分の文字化け
2、「管理ページ」内の「顧客管理」内の「顧客情報」の文字化け
3、「管理ページ」及び「ホーム」での「カテゴリ」の文字化け
4、「ホーム」内の「アカウント作成」の際の都道府県名の文字化け
  ※「address_japanese_only」モジュールを入れました。

この他にもまだ気づかないだけで文字化けを起こしている部分がありそうなのですが、過去のトピックスでも出ていた症状と同じ事が問題なのでしょうか。
http://www.zen-cart.jp/bbs/viewtopic.ph ... 2%BD%A4%B1

勉強不足で大変申し訳ございません。
どなたかお教え下さい。宜しくお願い致します。

■仕様
 ZEN CART:V1.2.6
 PHP バージョン: 4.4.1
 データベース: MySQL 4.1.14
 MySQLの文字セット: UTF-8 Unicode (utf8)
 MySQL 接続照会順序: ujis_japannese_ci
 サーバ: Apache/1.3.33 (Unix)
アバター
hira
記事: 905
登録日時: 2005/5/16 00:11
お住まい: 埼玉県
連絡を取る:

Re: 「文字化け」に関しての質問

投稿記事by hira » 2005/12/09 18:30

YASU さんが書きました:はじめまして、YASUと申します。
ZEN CARTをインストールしたのですが、「文字化け」が発生して対処方法がわからず質問をさせていただきます。

症状としては、
1、「管理ページ」内の「一般設定」部分の文字化け
2、「管理ページ」内の「顧客管理」内の「顧客情報」の文字化け
3、「管理ページ」及び「ホーム」での「カテゴリ」の文字化け
4、「ホーム」内の「アカウント作成」の際の都道府県名の文字化け
  ※「address_japanese_only」モジュールを入れました。

この他にもまだ気づかないだけで文字化けを起こしている部分がありそうなのですが、過去のトピックスでも出ていた症状と同じ事が問題なのでしょうか。
http://www.zen-cart.jp/bbs/viewtopic.ph ... 2%BD%A4%B1

勉強不足で大変申し訳ございません。
どなたかお教え下さい。宜しくお願い致します。

■仕様
 ZEN CART:V1.2.6
 PHP バージョン: 4.4.1
 データベース: MySQL 4.1.14
 MySQLの文字セット: UTF-8 Unicode (utf8)
 MySQL 接続照会順序: ujis_japannese_ci
 サーバ: Apache/1.3.33 (Unix)

すべてデータベース関連ですね。
データベースの文字セットが問題だと思いますが、
過去ログのどこかに情報があったと思いますよ。
Zen-Cartモジュールの配布、サイト構築、カスタマイズ、メンテナンス等
http://www.s-page.net/

Zen-Cart運営サイト 携帯&スマホ(レスポンシブル)対応済
http://www.hiraokaen.com/
アバター
ヤス

Re: 「文字化け」に関しての質問

投稿記事by ヤス » 2005/12/09 18:57

hiraさん 早速のお返事ありがとうございます。
登録をした際に、ユーザー名を変えました。

hira さんが書きました:すべてデータベース関連ですね。
データベースの文字セットが問題だと思いますが、
過去ログのどこかに情報があったと思いますよ。


探したんですが、見落としてたみたいです。。。
それで、思わず質問してしまいました。すみません。
再度、調べます。ありがとうございました。
アバター
やす

Re: 「文字化け」に関しての質問

投稿記事by やす » 2005/12/12 11:28

再度すみません。

hira さんが書きました:すべてデータベース関連ですね。
データベースの文字セットが問題だと思いますが、
過去ログのどこかに情報があったと思いますよ。


探したのですが、どうしてもみつかりません。
申し訳御座いませんが、どなたかご存じの方教えて下さい。

こんな初心者がZen Cartを使う事自体、間違ってるのですかね。。。
けど、あきらめきれません。
すみませんが宜しくお願い致します。
アバター
kimono
記事: 1995
登録日時: 2005/9/27 13:30
お住まい: 大阪府大阪市天王寺区上本町
連絡を取る:

投稿記事by kimono » 2005/12/12 13:04

こんにちわ。kimonoです :P
そのスレッドで質問した人間ですw

えと、見た限りでは私の症状とは違う模様です。
うちはphpmyadminで見るmysqlのデーター自体は文字化けしておりましたが、実際のサイト内は文字化けしてなかったんですよ。
で、phpmyadminをバージョンダウンしましたところ、文字化けは直りました。
用は、肝心のデーターベース内は化けてなく、データーベースを見るためのソフトが上手く読み込んでくれなかったので化けて見えていただけのようです。
なので、やすさんの文字化けとは若干症状が違いますね^^;

でも、あきらめきれませんよねw
何とかしたいと思います。
全くどしろうとの私の憶測なので、あまり当てにならないかもしれませんが、おそらくデーターベースを作成する際に文字化けしているのか、データーベース内は文字化けしてないデーターがあるのに、出力の際に化けているのかだと思われます。
最初のケースの場合は、私もよくやりましたが、インストールの際にze-cart用のデーターベースを作成すると思いますが、それが上手くいっておらず、例えば、phpmyadminで新しい DB を作成します。で別の照会順序を入れますと文字化けを起こしたりします。今現在、phpmyadminや何かを利用されていると思いますが、どのバージョンになりますでしょうか?私はphpMyAdmin 2.6.4-pl2ですが、作成の際、元々このphpmyadminが文字化けを起こしているのに、照会順序でujis (EUC-JP Japanese)だからujis_japanese_ciを選びますと、現在のMySqlの文字セットがUTF-8 Unicode (utf8)のため文字化けを起こします。同じutf-8_general_ciにしなければなりません。何も選ばなかったらそちらになるはずです。今、私の状態と比べますとその部分が違うように思えます。
で、このままだとインストールなどは上手くいきますが、実際にデーターベース内の情報をphpmyadminで見ますと文字化けを起こしておりますが、稼動には問題ありません。どうしてもデーターベース内を弄る場合は、私は古いバージョンのphpMyAdmin 2.2.7-pl1を併用し利用しております。

次に出力で文字化けを起こしている場合ですが、こちらは先日私がxoopsの掲示板で書込みをおこしてちょっと怒られましたように^^;、my.cnf(又はmy.ini)の設定で[mysql]
default-character-set=ujisなどを入れていると、出力の際に文字化けを起こしてしまいました。本来ならば、mysql4.1は文字化けを起こし、このような設定でいいはずですが、私の場合はこれを設定することで逆に出力で文字化けになってしまいました。http://phpspot.net/php/pgMySQL4.1%8CnEUC-JP%82%CC%8F%EA%8D%87.htmlに記載のようにすれば文字化けは解消されるのが本当のはずですが、私は何も設定しない方がよかったみたいです。

いくつか方法はあり、mysqlの4.1はかなり大変だと思いますが、頑張ってみてください :o
影ながら応援しておりますm(__)m
アバター
YASU1
記事: 3
登録日時: 2005/12/09 18:47

投稿記事by YASU1 » 2005/12/12 13:59

kimonoさん はじめまして、YASUと申します。
早速のご返信ありがとございます。

kimono さんが書きました:こんにちわ。kimonoです :P
そのスレッドで質問した人間ですw

スレッド勝手にリンクしてすみません。

kimono さんが書きました:でも、あきらめきれませんよねw
何とかしたいと思います。

あきらめて、業者に出せば手っ取り早いのですが、あきらめきれず、スキルアップと意地とこの素晴らしい機能の可能性を自分でも知りたく、自己解決(皆さんのお力に頼ってばかりですが。。。)したく、再度質問してしまい、すみません。

kimono さんが書きました:全くどしろうとの私の憶測なので、あまり当てにならないかもしれませんが、おそらくデーターベースを作成する際に文字化けしているのか、データーベース内は文字化けしてないデーターがあるのに、出力の際に化けているのかだと思われます。
最初のケースの場合は、私もよくやりましたが、インストールの際にze-cart用のデーターベースを作成すると思いますが、それが上手くいっておらず、例えば、phpmyadminで新しい DB を作成します。で別の照会順序を入れますと文字化けを起こしたりします。今現在、phpmyadminや何かを利用されていると思いますが、どのバージョンになりますでしょうか?私はphpMyAdmin 2.6.4-pl2ですが、作成の際、元々このphpmyadminが文字化けを起こしているのに、照会順序でujis (EUC-JP Japanese)だからujis_japanese_ciを選びますと、現在のMySqlの文字セットがUTF-8 Unicode (utf8)のため文字化けを起こします。同じutf-8_general_ciにしなければなりません。何も選ばなかったらそちらになるはずです。今、私の状態と比べますとその部分が違うように思えます。

phpMyAdmin 2.6.0-pl3を利用しております。
文字セット: UTF-8 Unicode (utf8)
照会順序は、ujis_japanese_ciです。
utf-8_general_ciに変更しましたが治りません。
再度、データベースを作成して、zen cartをインストールし直した方がよそうですかね?

kimono さんが書きました:で、このままだとインストールなどは上手くいきますが、実際にデーターベース内の情報をphpmyadminで見ますと文字化けを起こしておりますが、稼動には問題ありません。どうしてもデーターベース内を弄る場合は、私は古いバージョンのphpMyAdmin 2.2.7-pl1を併用し利用しております。

併用できるんですか。知りませんでした。
挑戦してみます。

kimono さんが書きました:次に出力で文字化けを起こしている場合ですが、こちらは先日私がxoopsの掲示板で書込みをおこしてちょっと怒られましたように^^;、my.cnf(又はmy.ini)の設定で[mysql]
default-character-set=ujisなどを入れていると、出力の際に文字化けを起こしてしまいました。本来ならば、mysql4.1は文字化けを起こし、このような設定でいいはずですが、私の場合はこれを設定することで逆に出力で文字化けになってしまいました。http://phpspot.net/php/pgMySQL4.1%8CnEUC-JP%82%CC%8F%EA%8D%87.htmlに記載のようにすれば文字化けは解消されるのが本当のはずですが、私は何も設定しない方がよかったみたいです。

my.cnf(又はmy.ini)の設定はいじっていません。
といいますか、my.cnf、my.iniの場所がわかりません(^^;)

kimono さんが書きました:いくつか方法はあり、mysqlの4.1はかなり大変だと思いますが、頑張ってみてください :o
影ながら応援しておりますm(__)m

とにかく初心者ですが、早く勉強してがんばります。
今後とも宜しくご指導の程、お願い致します。
アバター
kimono
記事: 1995
登録日時: 2005/9/27 13:30
お住まい: 大阪府大阪市天王寺区上本町
連絡を取る:

投稿記事by kimono » 2005/12/12 16:09

kimonoです :)
YASU さんが書きました:スレッド勝手にリンクしてすみません。

いえ、どんどん引用した方がいいと思いますw

YASU さんが書きました:あきらめて、業者に出せば手っ取り早いのですが、あきらめきれず、スキルアップと意地とこの素晴らしい機能の可能性を自分でも知りたく、自己解決(皆さんのお力に頼ってばかりですが。。。)したく、再度質問してしまい、すみません。

私も別件であきらめきれずに自分でモジュールを改良してみたりしてます。全くphp分からなかったのですが、リファレンス買ったりして、概念が大分分かるようになってきました :D

YASU さんが書きました:phpMyAdmin 2.6.0-pl3を利用しております。
文字セット: UTF-8 Unicode (utf8)
照会順序は、ujis_japanese_ciです。
utf-8_general_ciに変更しましたが治りません。
再度、データベースを作成して、zen cartをインストールし直した方がよそうですかね?

そうですね。その状況であれば、タブンもう一度データーベースを作成し、インストールをやり直した方がよさそうですね。私も一度ujis_japanese_ciで作り、インストール後変更しようとしても駄目で、再インストールした記憶があります。

YASU さんが書きました:併用できるんですか。知りませんでした。
挑戦してみます。

これに関しては大丈夫なのかどうかは自身がありません。たまたま出来ただけですので・・・
ただ、mysqlに対し、phpmyadminはブラウザのようなもので、インストールも簡単で、ただzenと同様の所におき、mysqlのIDとPASS、ルートPASSを設定するだけだったと思います。

YASU さんが書きました:my.cnf(又はmy.ini)の設定はいじっていません。
といいますか、my.cnf、my.iniの場所がわかりません(^^

一応確認のためでもありますし、今後弄る可能性もありますので、各サーバーによって違うのかもしれませんが、うちは/etc/my.cnfです。zenをインストールするフォルダよりずっと上の階層にあるはずです。

YASU さんが書きました:とにかく初心者ですが、早く勉強してがんばります。
今後とも宜しくご指導の程、お願い致します。

はい。お互いに頑張りましょう :lol:
アバター
YASU1
記事: 3
登録日時: 2005/12/09 18:47

投稿記事by YASU1 » 2005/12/12 17:58

kimono様

何度もお忙しい処、お教え頂きまして、ありがとうございます。
kimono様のアドバイス通り、再度、データベースを作成し、インストールし直しました。

その結果、文字化けがなくなりました!!
本当にありがとうございます。

一応、前回と今回の経緯を書きますと、
1、前回)MACのFetch4.0.3で、アップロード。
  今回)WINのFFFTPで、アップロード。

2、データベース作成時に、
  前回)文字コードをujis_japanese_ciで作成
  今回)文字コードをutf-8_general_ciで作成

前回と今回では上記の2箇所のみの変更で文字化けがなくなりました。

ここ数日、悩んでいろいろ調べたりしましたが、こんなにも、簡単に治るとは。。。情けないです。
リファレンス等の書籍を購入し、勉強します!!

kimono様はじめ、hira様、ありがとうございました。
これからも宜しくお願いします。
アバター
kimono
記事: 1995
登録日時: 2005/9/27 13:30
お住まい: 大阪府大阪市天王寺区上本町
連絡を取る:

投稿記事by kimono » 2005/12/12 18:56

おお!出来ましたか!
おめでとうございます :D
やはり、その組み合わせでphpmyadminで見ますと、utf8が優先されるためにUTF-8 Unicode (utf8)になり、そこで、EUCだからと言ってujis_japannese_ciでデーターベースを作りますと、文字化けを起こす(文字データーが破壊される)みたいですね。
とにかく、この場合は、データーベース作成もutf-8_general_ciで作成。
でも、本来はEUCのため、新しいバージョンのphpmyadminでは文字化けする。
古いバージョンだと、UTF8が優先されないため、Languageは(ja-euc)で開くため、文字化けしないといったところでしょうか?
私的には今までの結果からそのぐらいしかわかりませんが、相当複雑なんですよね縲鰀 :cry:
アバター
YASU1
記事: 3
登録日時: 2005/12/09 18:47

投稿記事by YASU1 » 2005/12/13 11:48

kimono さんが書きました:おお!出来ましたか!
おめでとうございます :D

ありがとうございます!!

kimono さんが書きました:やはり、その組み合わせでphpmyadminで見ますと、utf8が優先されるためにUTF-8 Unicode (utf8)になり、そこで、EUCだからと言ってujis_japannese_ciでデーターベースを作りますと、文字化けを起こす(文字データーが破壊される)みたいですね。

この数日悩んで試行錯誤しましたが、再インストールは、考えていませんでした。
後からデータベースの文字コードを変えても文字データーが破壊されていたらどうしようもないですもんね。
全部が全部文字化けを起こしていなかったので、もう少し考えれば良かったです。勉強になりました。

kimono さんが書きました:とにかく、この場合は、データーベース作成もutf-8_general_ciで作成。
でも、本来はEUCのため、新しいバージョンのphpmyadminでは文字化けする。
古いバージョンだと、UTF8が優先されないため、Languageは(ja-euc)で開くため、文字化けしないといったところでしょうか?
私的には今までの結果からそのぐらいしかわかりませんが、相当複雑なんですよね縲鰀 :cry:

バージョンによって違ったりとほんと複雑ですね。
今回は、ほんと助かりました!!重ね重ねありがとうございました!!
アバター
Gere
記事: 12
登録日時: 2006/6/30 01:12
お住まい: さいたま市
連絡を取る:

これでも文字化けしたので、別な手で直しました。

投稿記事by Gere » 2006/6/30 01:44

YASU1 さんが書きました:1、前回)MACのFetch4.0.3で、アップロード。
  今回)WINのFFFTPで、アップロード。

2、データベース作成時に、
  前回)文字コードをujis_japanese_ciで作成
  今回)文字コードをutf-8_general_ciで作成

前回と今回では上記の2箇所のみの変更で文字化けがなくなりました。


私もサーバー移転で同じ問題に直面しました。
MySQL3.23.58からMySQL4.120へ変わったためDB内も文字化け。
サイトもすべてDBからの情報は???になっていました。
こちらの記事と下記の記事を参考に試行錯誤を重ね、YASUI様と同じ手も
打ち、DB内の文字化けは直りましたがサイトの文字化けは直りませんでした。

1)4.1以上の壁 (日本語の扱いの違い、文字化け等/含む5.0以上)
http://www.mysql.gr.jp/frame/modules/bwiki/?FAQ#content_1_40
2)MySQL4.1系EUC-JPの場合
http://phpspot.net/php/pgMySQL4.1%8CnEUC-JP%82%CC%8F%EA%8D%87.html

そこでphomyadminの【操作】でまず文字コードをujis-JPに設定。
EUCのデータをインポートではなくSQLに貼ってコピペしました。
これでDB内の文字化けは直りました。(インポートすると文字化けしました。)

次にincludes/classes/db/mysql/query_factory.php
42行目あたりと55行目あたりに各1行追加。
@mysql_query("SET NAMES ujis;");
で解決しました。

同じ苦しみを抱える方がこの方法で直せれば幸いです。

ただWORDPRESSのDB内のデータは一部どうしても文字化けが直らないので
コピペせず、最初から作り直しています。
WORDPRESS内のデータ文字化けの場合は、理由が他にもあるのでしょう。
今後の課題です。

本当にこちらのフォーラムのお陰でいつも助かっています。
ありがとうございます。
アバター
Gere
記事: 12
登録日時: 2006/6/30 01:12
お住まい: さいたま市
連絡を取る:

これで大丈夫のようです。

投稿記事by Gere » 2006/8/24 00:35

MySQL4.1でのZen-Cart文字化け対策は

1.index.php と admin/include/application_top.php に
header("Content-Type: text/html; charset=EUC-JP");
を追加。

2.SQLバックアップデータのインポート時に
CREATE DATABASE `zencart` DEFAULT CHARACTER SET ujis;
を追加。

3.include/classes/db/mysql/query_factory.php の mysql_connect と
mysql_pconnect 直後に
mysql_query("SET NAMES ujis");
を追加。

の3つでMYSQL4.1でも文字化けせずに済むようです。

“Zen Cart 質問コーナー” へ戻る