私自身の手違いにより、UTF-8で作っていたデータベース内の日本語文字が全て壊れてしまい、そのデータを基に再度作り直しているところなのですが。
(文字が『ワタãƒ』←投稿時に特殊文字が含められないのでこんな書き方になりましたが、全ての日本語がこんな感じの状態になりました…)
私のローカル環境では、その壊れた文字もPHP上で正しい日本語で表示されてします。
しかし別のサーバー環境では、壊れた文字のままPHP上で表示されます。
データベースファイルの移動は、.sqlファイルを使ってphpmyadminでエクスポート、インポートしました。
PHPファイルは同じものを使っています。
php.iniやmy.iniの設定は、ローカルと別サーバーで違うかもしれません。
別サーバーに移動しても正しく表示できるようにする方法が思い当たる方、回答お願いします。
あわよくば、この文字コードの壊れたデータベースをまるごと復旧させられる方法とか、もしあるならばお願いします!
●ローカル環境
XAMPP 1.6.7 (Apache 2.2.9 / MySQL 5.0.51b / PHP 5.2.6 / phpMyAdmin 2.11.7)
●別サーバー環境
MySQL 4.0.22 (これ以外わかりません…ステップサーバーを使用しています)
No.1ベストアンサー
- 回答日時:
多少混線されているのではないかと。
(すみません。自分もこの件では往生しましたので)
>私のローカル環境では、その壊れた文字もPHP上で
>正しい日本語で表示されてします。
これはデータが壊れている訳ではないということでしょう。
むしろ化け文字に見えてしまう環境がうまく設定できていないと、
考えないと迷路にはまってしまうような感じがします。
有名な話ですが、MySQL 4.0 と 5.0 では天と地ほどの
差があります。(少々誇張ですが)
ローカルがUTF8とのことですが、別サーバーがSJISか
UNIかを正確に把握してデータを移動してあげないと、
MySQL 4.0 はコード変換機能をもっていないので、
そのまま表示されて化け文字になってしまいます。
このトラブルでの情報は多く載っていますので、まず、
「mysql 5 文字化け」で検索してみることをおすすめします。
この回答への補足
ローカルの設定は恐らく上手くいっていると思います(SHOW VARIABLES LIKE "char%"で確認→データベースの照合順序もutf8です)
元データで『化けている部分』は、エクスポートした時点で既に化けているので、元データからして化けているものと思います。
よって今回の場合は、別サーバーとの文字コードの相性は関係ないかもしれません…。
というより、元データからして壊れているのであればこの場で質問することではなかったかもしれません…。
質問の意図を正しくお伝えできず、申し訳ありません。
しばらくしたら回答締め切りします
No.2
- 回答日時:
MySQL 4.0はunicode を解釈出来ません。
でも、ただのbineryデータとして格納しますので、取り出したphp側で、unicode と認識してページの文字コードに変換出来れば、ちゃんと表示できるとは思いますが、php側の書き換えが必要になってくるでしょう。また、その場合でも、like 検索などでうまく一致させられない可能性があるかもしれません。
ローカルのMysql5.0のデータをsqlファイルなどに書き出して別サーバーへ持っていくのなら、
書き出したファイルをphpまたは、editorなどで、別サーバーのmysqlに設定されている文字コードに変換した上でimportした方がよいでしょう。
別サーバーのphpやmysqlの文字コード設定についてもきちんと調査すべきです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- サーバー Laravelをレンタルサーバーにインストールするにはどうすればいいですか? 2 2022/06/29 10:17
- PostgreSQL PostgressからMySQL(MariaDB)へ構造を変更する際のTimestamp等について 2 2023/04/04 12:09
- Windows 10 Windows10の回復環境 2 2023/02/03 19:13
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- MySQL 「掲示板のログイン画面」はPHP~MySQLに「データベース認証のシステム」方式です。 1 2022/09/27 05:00
- その他(メールソフト・メールサービス) メールソフトを教えてください 1 2023/03/28 23:32
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
- MySQL 私の考えていることは ・mySQL ・PHP ・web制作 この三つのスキルがあれば実現しますか? 4 2023/08/19 02:48
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数字で「そ」と「り」
-
データベースファイル(.db)を開...
-
PL/SQLで@ファイル名が反応しま...
-
sql*loader 数値のロード
-
同じSQL文で極端に検索が遅くな...
-
PL/SQLをWindowsのBATファイル...
-
mysqlにおけるホストのパーセン...
-
あるDBから別のDBのテーブルをs...
-
comment on columnについてわか...
-
MySQLの文字化け
-
1つのファイルにmysqlとPostgre...
-
MySQLへの特殊文字の挿入について
-
SQL*Loaderで桁数チェック
-
phpmyAdminでmySQLのdumpデータ...
-
データベースの複製の仕方(mysql)
-
二重に記載されてしまう
-
ACCESSからリンクでのレコード...
-
LinuxでFatal errorが出てしま...
-
phpmyadminでの特権が表示方法
-
本を見ながらPHPを勉強している...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
数字で「そ」と「り」
-
漢字や平仮名の文字をSQLで実行...
-
複数の文字コードの混在
-
phpMyAdmin、インポートで全角...
-
サーバデータのエクスポートで...
-
PHPadmin文字化けに関しまして
-
特定の文字(“ソフ”)だけが文...
-
PHP+MYSQLでの文字コードによる...
-
データベースファイル(.db)を開...
-
PL/SQLで@ファイル名が反応しま...
-
あるDBから別のDBのテーブルをs...
-
PL/SQLをWindowsのBATファイル...
-
html上でMySQLにアクセス(Java...
-
sql*loader 数値のロード
-
同じSQL文で極端に検索が遅くな...
-
mysqlにおけるホストのパーセン...
-
create databaseがうまくいきま...
-
SQLServerのselect文でデータ数...
-
作成したレコードセットのCSV出...
-
バッチファイルではパスワード...
おすすめ情報