• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:更新時の文字化けに関して)

更新時の文字化けに関して

このQ&Aのポイント
  • 更新時の文字化けに関して初歩的な質問で申し訳ありませんが、教えて下さい。
  • SQL文を作成し、更新処理をしようとしたところ、文字化けして更新できませんでした。どこの何を設定すれば良いでしょうか?
  • データベースの文字設定に問題がある可能性があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • agunuz
  • ベストアンサー率65% (288/438)
回答No.3

すでに的確なツッコミがありますが(汗 ソースをSJISで書いているならば(本来sjisはphpでは使ってはいけない文字セットですが、それは置いといて) >mysql_query("set names sjis"); でなく、 mysql_set_charset('sjis'); とすべきだし、実行するタイミングは「MySQLに繋いだ直後」に行うべきです。提示されたソースでは >$result = mysql_query($sql,$con); >mysql_query("set names sjis"); update文の実行後に set names が実行されていますので、update文に対して何の効果も与えていません。 なお「SJISを使う」メリットは何もありませんので、UTF-8で書くことをお勧めします(MySQLでは文字セット名が「utf8」なので注意)。

asamix_000
質問者

お礼

ご回答ありがとうございます。 皆様のご回答のおかげで、問題を解決する事ができました! 皆様にはいつもお世話になっている為、どなたをベストアンサーにすれば良いか、、、 ありがとうございました!

その他の回答 (2)

noname#244856
noname#244856
回答No.2

No.1で既に的確な回答がついていますが、参考リンクを張っておきます。 PHPでデータベースに接続するときのまとめ http://qiita.com/mpyw/items/b00b72c5c95aac573b71

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

大きな問題が3つあります (1)mysql_系の関数は非推奨です (2)プログラム側からset namesは原則発行すべきではありません (3)sjisでデータ管理をするのはあまり得策ではありません。 上記をいずれ改善するとして 今回のソースコードはshift-jisで保存していますか? まっとうなエディタを利用していれば明示的にキャラクターコードを 指定できると思うので、チェックしてみてください また >どうも文字化けして更新できませんでした。 ちょっと意味不明なのですが・・・ 更新したけど文字化けしていたのか、更新ができなかったのか どちらなのでしょうか? 仮に文字化けしていたのであればなんで文字化けしていることが確認できたのでしょうか? 逆に更新できなかった場合は、なぜい文字化けが更新できなかった理由だと考えたのでしょうか?

関連するQ&A