MySQL 5.0 (559レス)
上下前次1-新
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
321: 2008/08/02(土)18:51 ID:ag3OZJze(1) AAS
4に戻したいですぅ
322: 2008/09/06(土)16:57 ID:??? AAS
gooでも質問したのですがこちらでも質問させてください。
CentOS 4.6 に MySQL 5.0系をインストールして
port 80番で運用したいと考えています。
ところが、ポート80を指定して起動させると
以下のエラーになり、起動できませんでした。
mysqld started
InnoDB: Started; log sequence number 0 43655
[ERROR] Can't start server: Bind on TCP/IP port: Permission denied
[ERROR] Do you already have another mysqld server running on port: 80 ?
[ERROR] Aborting
省24
323: 2008/09/06(土)17:47 ID:??? AAS
1024未満のポートを使うにはroot権限が必要だから
どうしても80番を使いたければ
iptablesのNAT機能を使って80から3306へ変換しなさい
80番を使う動機を推測すると、たぶん外に公開したいのだろうから
stunnelやstoneなどのSSLプロキシを使うと更によいと思う
上下前次1-新書関写板覧索設栞歴
あと 236 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.011s