MySQLでの文字化け - PHPプロ!Q&A掲示板

1250

  • 0P

MySQLでの文字化け

質問日時 / 2008年6月19日 18:18    回答数 / 2件

Questioner:  youhei  このエントリーをはてなブックマークに追加 

キーワード / キーワードが設定されていません

ページをShiftJISで作成しています。

メール送信フォームなどを使用した際に

「予約」の "予" などの文字で "予\" (バックスラッシュは半角¥)という風に文字化けしていました。
これは文字コードで5C(でしたっけ?)が含まれているということで
stripslashes(綴りが違ったらすいません)を使うことで回避できましたが

MySQLにいれると
-----
調整
予約
てすと
-----
という文字列が
-----
調整
蘭・
てすと
-----
という風に文字化けしてしまいます。

これをselectで呼び出してページ上に表示すると、やはり同じように
-----
調整
蘭・
てすと
-----
と表示されます。

これを改善する方法は無いでしょうか?

ありましたら、よろしくお願いします。

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┗A01weekendphpそのまま、INSERT文やUPDATE文で文字を入れると、 Sh
 ┗A01-1youheiすばやい回答ありがとうございます。 無事に解決で

回答一覧

並び替え:

A01 満足
answererweekendphp [6月19日 18:48]

そのまま、INSERT文やUPDATE文で文字を入れると、
Shift_JISには文字内に「\」と同じ文字コードが含まれるため、
文字化けしたり、SQLが正常に実行できないことがあります。
(SQL文でも、「\」は特殊なエスケープ文字です。)

また、SQLインジェクションなどの問題が発生する場合があるため、
DBに文字を入れるときには、必ず mysql_real_escape_string などで、
文字列をエスケープする必要があります。

この意見に回答する

ツリーへ TOPへ

A01-1
replyeryouhei [6月19日 19:40]

すばやい回答ありがとうございます。

無事に解決できました。

たかが文字コードと思っていましたがいろいろな問題点があるんですね・・

ひとつ勉強になりました。

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
動的なURLを静的に見せる方法
 このエントリーをはてなブックマークに追加 
A
普通に考えて、mod_rewrite でしょうね。 http://www.nishishi.com/blog/2006/01/mod_rewrite_url.html...

>>続きを読む

GETのままでは検索エンジンのロボットが拾ってくれなかったためにSEO対策として有効だと言われていますね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)