MySQL 5.0 (559レス)
1-

301: 2008/06/02(月)21:44 ID:??? AAS
経過

他のJDBC アプリでログが出力されていたので

アプリのソースってことがわかりました。

しかし、ゴミになるってことはなに?ソースを追うしかないのか?
302: 2008/06/02(月)22:30 ID:??? AAS
自己れす 解決

connect まではログにでているので、select 文を べた書きにしてうまく流れたので
元に戻して 確認。

jdbc のバージョンがでるところからおかしくなっていたのでJDBCなのか?

そうなのか?
303
(5): 2008/06/07(土)04:02 ID:??? AAS
質問させて下さい。

これまで、Linux上で動作させていたphpスクリプトをWindowsに以降しようとしているのですが
phpからMySQLにINSERT文を行ったのですが、文字化けしてしまいます。
どうすれば直りますでしょうか?

・WindowsXP(Pro)
・php-5.2.5-Win32.zip
・mysql-5.0.45-win32

1※
mysql> SET CHARACTER SET SJIS;
Query OK, 0 rows affected (0.00 sec)
省10
304
(1): 303 2008/06/07(土)04:09 ID:??? AAS
続きです。

2※phpスクリプト内部でINSERT文を実行する前に次のコードも入れています。
  mysql_query('set character set sjis',$dbHandle)
3※組み立てられたSQLを画面上に print(""); で確認すると正常に日本語が入力されています。
4※MySQLのデータ操作を行う際にCSEも使っているのですが、CSEよりテーブルを開き直接日本語
 を登録すると、その値は正常に日本語で登録されています。しかし、phpにて一覧出力すると ??? という
 具合に文字化けしてしまいます。

あと、追加で質問させて頂きたいのですが、コマンドラインからMySQLを再起動するには
何というコマンドを実行すればよいのでしょうか?ぐぐっても中々ヒットしませんでした。
因みに、GUIツールとして MySQL Query Browserを使用しているのですがここから再起動とかも出来る
省1
305
(2): 2008/06/07(土)06:46 ID:??? AAS
>>303,304
まず、my.iniの設定から見直してみよう。
その show variables の結果から、サーバがLatin1で起動されてるのが分かる。
create databaseやcreate table時の指定が分からんからなんともだが、そのまま作成したとしたなら、
仮に、"set names cp932"したところで、変更されるのは"connection"と"client"のみ。
なので、mysqldがデータを受け取った時に、内部の保存コードである"latin1"に変換をかけてしまう。
そこで、当然cp932(ms-sjis)はlatin1にマップ出来ないので文字列が壊れる。
回避策は、以下の件とも絡むので後述。

> コマンドラインからMySQLを再起動するには
の件だけど、恐らく、>>303のpathから見て、インストーラでデフォルト設定でinstallしたんだろうけど、
省8
306
(1): 305 2008/06/07(土)06:46 ID:??? AAS
続き

で、その起動時にオプションで、設定ファイル(my.ini)を読み込ませたり、charset他各種設定オプションを渡したりできる。
サービス登録の場合も、上記の「管理ツール」→「サービス」から、起動時のコマンドラインオプションを設定できる。

なので、charset等適切に編集したmy.iniを読み込ますように起動させればよい。
具体的な設定方法などは、本家のManual等を参照してくれ。

ちなみにWin版のバイナリ版phpは、php_mysql.dllがlatin1でコンパイルされてるので、
上記のことをやってなお、接続時に全てのクエリの前に "set names cp932" 等の処置が必要。
又は、上記の設定ファイル中で書くやり方もある。
それでは、がんばってくれ。
307: 306 2008/06/07(土)06:54 ID:??? AAS
ごめん。一つうそついてしまった。
php_mysql.dllじゃなくて、正確にはmysqlに付属のlibmysql.dllが、
デフォルトコードLatin1でコンパイルされているの間違い。
(まあ、phpバンドルのlibmysql,dllも同じことなんだけど)
308: 303 2008/06/07(土)15:37 ID:??? AAS
>>305さん
ご丁寧にレスありがとございます。
色々とお教え頂いた様に試してみたのですが相変わらず、文字化けしてしまします。

1.my.ini
[client]
default-character-set=sjis

[mysql]
default-character-set=sjis

[mysqld]
default-character-set=sjis
省11
309: 303 2008/06/07(土)15:43 ID:??? AAS
続きです。

3.php内部での文字コードの設定部分
mysql_query("SET NAMES sjis");

4.phpでテーブルより取得した値をsjisに変換した上で画面に出力
while($row = mysql_fetch_array($rs))
{

  /* 内部文字エンコーディングからSJISに変換 */
  $str = $row["NAME"];
  print("文字チェック1:[ ".$str." ] <br/>");
  $str = mb_convert_encoding($str, "SJIS");
省4
310
(1): 303 2008/06/07(土)17:57 ID:??? AAS
自己解決しました。

・・・MySQLってなかなか一癖ありますね。。。
思わぬ落とし穴がありました。
311
(1): 2008/06/08(日)04:27 ID:??? AAS
>>310
どう解決したかを書かないと意味がないだろ。
自分がよければそれでいいのかい?

とりあえず文字コードを多重変換して嵌ってたんだろうと推測しとく。
312: 2008/06/08(日)15:15 ID:??? AAS
>>311
良いよ
だって自己解決したんだし。
313: 2008/06/13(金)12:07 ID:??? AAS
質問です。

PHPとMySQLの連携を考えており、DBに接続して
PHPから表示させることは出来ました。
SELECT文についての質問ですが、今現在以下の通りになっています。

SELECT * FROM wp_posts WHERE ID = 30 OR ID = 190 OR ID = 170 ORDER BY ID DESC

これをPHPでwhileを使って縦に順番に表示すると、
ID=190、ID=170、ID=30の順番で書き出されました。

この表示する順番を、一番上からID=30、ID=190、ID=170と、
SELECT文に記述されたIDの順番通りに表示するには、どうすればよいでしょうか?
なにかいい案がある方、いらっしゃいましたらご教示下さい。
314: 2008/06/13(金)12:35 ID:??? AAS
select * from wp_posts order by (case ID when 30 then -3 when 190 then -2 when 170 then -1 else ID end) asc;
315: 2008/06/21(土)20:46 ID:??? AAS
union使えば?
316
(2): 2008/07/12(土)01:40 ID:??? AAS
MySQLはXen上では使えないんですか?

CentOSのDomU上でMySQL5を使っておりますが、
Buffer I/O error とやらが大量に出てきて、ファイルシステムが落ちます。
再現するのはMySQLが動いている時だけなので、MySQLが原因とみて間違いないと思います。
ディスクもディスクイメージも壊れていませんが。。。メソメソ
317
(1): 2008/07/13(日)22:11 ID:??? AAS
>>316
configureのときに--skip-bdbだったかな。
318: 316 2008/07/14(月)00:34 ID:??? AAS
>>317
ありがとう。試してみる。
319
(1): 2008/07/14(月)20:39 ID:??? AAS
PAM-MySQL の導入を検討しているのですが、
(see: 外部リンク:pam-mysql.sourceforge.net
crypt の値として平文、crypt(3)、PASSWORD()、MD5() を選択できるのですが、
平文は論外として、どの選択がよりセキュアなのでしょうか?
320: 2008/07/15(火)22:00 ID:??? AAS
>>319です。自分でも調べてみようかと思いソースを覗いてみたら crypt=4 (or "sha1") で
SHA1 が使えたみたいなのでこれを使ってみることにします。

# と思ったら Web に書いてないだけで README に書いてあったorz
1-
あと 239 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.012s