PR

[phpmyfaq] データベース文字化けを直す(3)

テストプログラムを書いてみたら、余計にハマった。

http://php5.seesaa.net/article/62432244.html にサンプルがあったので使わせてもらった。
当然sjisで文字化けしたので、utf8で試したら、なぜか素直に表示される。。。なぜだー。。。
ここまでくると、多分すごく次元の低い「?」と格闘している気がする。。。

スポンサードリンク

test.php

<?php
  $url = "localhost";
  // MySQLへ接続する
  $link = mysql_connect($url,$user,$pass) or die("MySQLへの接続に失敗しました。");
  // データベースを選択する
  $sdb = mysql_select_db($db,$link) or die("データベースの選択に失敗しました。");
  // クエリを送信する
  $sql = "SELECT * FROM faq_faqdata where id = 25";
  $result = mysql_query($sql, $link) or die("クエリの送信に失敗しました。<br />SQL:".$sql);
 while ($row = mysql_fetch_assoc($result)) {
     //print($row['id']);
     print '[[';
     print($row['thema']);
     print ']]<br />';
 }
  //結果セットの行数を取得する
  $rows = mysql_num_rows($result);
  //結果保持用メモリを開放する
  mysql_free_result($result);
  // MySQLへの接続を閉じる
  mysql_close($link) or die("MySQL切断に失敗しました。");
?>

じゃぁ試しにphpmyfaqのレコードを直接phpMyAdminから変更してみる。

(うまく表示されるかわからないけど)

◆今のところ=データベースは化けているけど、正しく動作している状態

phpMyAdmin: CRMとは何ですか?
TEST: CRMとは何ですか?
phpmyfaq: CRMとは何ですか?

◆レコードを直接いじる

phpMyAdmin: CRMとは何ですか?
TEST: CRMとは何ですか?
phpmyfaq: CRM???????

phpMyAdminは結構補足と言うか親切丁寧に動いてくれるので助かるのだけれど、もしかしたらそれが原因?それとも2.5.5の格納と取り出しがなにやらとんでもないことをしているのだろうか。。。うーん。。。でもテストスクリプトからは正しく取得できてしまうんだよな・・・。なんなんだー??

ここで試しにデータベースの設定を全く同じにして、新規インストールしてみた。
すると、文字化けしないし、データベースを覗いても正しく表示さている。

もっと謎が深まる。。。

データベースを破棄する気持ちで入れ替えるのもいいんだけど、今あるデータを正しく取り出せないと意味がない。
もはや最終手段のコピーアンドペーストの出番か?いちいちブラウザで表示させて?

コメント