• 締切済み

MySQLにデータを格納する際に文字が化ける

インターネットでサイトを開いている者です。 ネットのデータをMySQLに格納しようと試みてみましたが、MySQLにデータを格納すると全角データが化けてしまします。MySQLにデータを格納する前は確かに化けていないのですが、MySQLにデータを格納し、中身を確認してみると全部、文字が化けてしまっています。 どうか心当たりの情報をお持ちの方は教えて頂けないでしょうか? お願いします。

  • aeic
  • お礼率10% (60/582)

みんなの回答

  • yarra
  • ベストアンサー率0% (0/0)
回答No.2

私も以前この様なケースにでハマりました。 (「ガソリン」などとInsertすると化けたり) MySQLのcharacter_setがlatin1ではありませんか? ujisもしくはsjisに設定してみてください。 また、先の方の回答にもありますが、insertを行っているミドルウェア(この場合Perlでしょうか)でも文字コードをDBサーバーに揃える必要があります。

  • noopee
  • ベストアンサー率38% (114/297)
回答No.1

こんにちは。 文字コードは何でインサートしようとしているのでしょうか??

関連するQ&A

  • PHP経由でMYSQLに全角文字を格納するにあたって

    かなり初歩的質問かも知れませんが、ご回答頂けれ助かります。m(__)m 現在MYSQLを使用しPHPの現在のデータを格納しようと思いました。 そこで、全角文字の中に'等が入っており、これを mysql_escape_string( または mysql_real_escape_string( を使用し格納しようとしたのですが、全角文字が文字化けしてしまい、 '全角'文字'の様に真ん中の'は文字列として残したいと思ったのですが、 '全角文字の様な形式になってしまい後ろの'がなくなってしまいました。 全角文字の部分は文字化けしていて暴゜・こんな風になってしまいます。 何か解決方法はありませんでしょうか? まだまだ初心者の為、かなり初歩的質問かも知れませんがご回答頂けたら助かります。 よろしくお願い致します。

    • ベストアンサー
    • MySQL
  • mysqlで長さ無制限の文字列を格納することはできますか?

    mysqlを用いて掲示板を作りたいです。その際に、簡素化のため、掲示板の全てのデータをmysqlに格納したいと思っています。 また、掲示板における本文の部分は、文字列の長さを無制限にするのが妥当だと思います。 しかし、mysqlのマニュアル(http://dev.mysql.com/doc/mysql/ja/BLOB.html)によると、一番大きい型であるLONGBLOB型の記憶容量は 2^32バイトとなっており、それを超える文字列は切り捨てられるとなっています。 そこで、ご教授いただきたいです。 長さ無制限の文字列をmysqlに格納する方法はありますか?そしてその場合はどうすればよいですか? それとも、長さ無制限の文字列をmysqlに格納する方法ははなく、その場合は別ファイルを用意し、そちらに書き込むなどをする必要がありますか? どうぞよろしくお願いします。

    • ベストアンサー
    • MySQL
  • 文字化けされたまま格納される?

    質問があるのですがよろしくお願いします。 現在、CGIを使ったサイトを持っていおり、そのサイトのデータベースをテキスト形式のものからMySQLに移行したのですが、テキスト形式でデータを保存していた時は大丈夫だったのに、MySQLに保存するようにすると、「表示」のような文字が文字化けしてブラウザに表示されるようになってしまいました。PHPMyAdminで確認すると、文字化けしているところはしているので、データをMySQLに格納する過程で文字化けしているような気がします。 これにはどういった原因が考えられるでしょうか?どなたか解決方法が分かる方ご教授よろしくお願いします。 なお、perlからDBIを経由して、MySQLにアクセスしています。

    • ベストアンサー
    • MySQL
  • wordpressがMySQLに日本語データを格納する際の文字コード

    初めまして、satsukimaと申します。 現在他のブログからの引越し作業を行うべく、wordpressのインストールを終えました。 そして別のブログサイトからのテキストデータをMySQLに流し込もうとしています。 ところが日本語の部分にのみ文字化けが発生してしまいます。 wordpressではMySQLに日本語データを格納する際、どのような文字コードを使っているのでしょうか? 以下の5点を試しました。 1.utf8の端末でMySQLのCLI(mysql client)から"insert into"コマンドを使ってデータを追加しましたが、CLIのselect文とブラウザの両方で確認したところ日本語部分で文字化けが発生します。 2.ブラウザから通常通りに管理画面より日本語の入力を行うと文字化けせずに正常にブラウザに表示されます。 3.しかし正常にブラウザに表示されるデータをCLIのselect文にて確認すると文字化けが発生します。CLI端末の文字コードをutf8、euc、shift-jis、iso-2022-jpで試しましたが、やはり「?????」といったような文字列が表示され、文字化けします。 4.MySQL Query Browserからselect文を実行すると、ブラウザ上で正しく表示されているデータは正常に表示されます。 5.自分で書いたPHPスクリプトでselectを実行しブラウザから表示させると、文字化けします。ブラウザの文字コードをutf8、euc、shift-jis、iso-2022-jpで試しましたが、文字化けします。 どなたかヒントでも頂けないでしょうか。 ぜひ宜しくお願い致します。

    • ベストアンサー
    • PHP
  • PHP+MySQLでエスケープされたデータを格納したい。

    php.iniの設定でmagic_quotes_gpc = Offにして、 mysql_real_escape_stringで出力エスケープしたデータを MySQLに格納するとバックスラッシュが格納されない。 エスケープされたデータを格納したいです。 php.iniの設定 --------------------------------------------------------- ; Magic quotes for incoming GET/POST/Cookie data. ; magic_quotes_gpc = On magic_quotes_gpc = Off ; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc. magic_quotes_runtime = Off ; Use Sybase-style magic quotes (escape ' with '' instead of '). magic_quotes_sybase = Off --------------------------------------------------------- $_POST['us_fname']には「'user'」という文字列が格納されています。 --------------------------------------------------------- $clean['us_fname'] = $_POST['us_fname']; $mysql['us_fname'] = mysql_real_escape_string($clean['us_fname']); $sql = "insert into table ( us_fname ) values ( '".$mysql['us_fname']."', ) "; --------------------------------------------------------- echo $mysql['us_fname']; で確認すると「\"user\" 」となっているんですが、 MySQLの中を確認すると「'user'」のままでシングルクォートがエスケープされていません。

    • ベストアンサー
    • PHP
  • RSSデータをMySQLに格納・保存するには?

    RSSデータを利用したサイトを制作したいです。 例えば以下のようなサイトです。 ​http://feed.designlinkdatabase.net/​ ​http://affiliate.thumbnailcloud.net/​ ​http://a.guideme.jp/bookmark.php​ 特定のRSSフィードを読み込んで、データベースに格納し、定期的に収集し、それをサイトに表示させるというものです。 この場合、取得したRSSをMySQLにどのように収集し格納すればいいのでしょうか?  また、この場合のロジックと必要な技術などを教えてください。 勉強をしながら制作したいと思っていますので、 お勧めな書籍なども宜しくお願いします。

    • ベストアンサー
    • MySQL
  • MYSQLで、ファイルを格納する方法を教えてください。

    動画ファイルの中身のバイナリデータをまるごとMYSQLのフィールドに格納したいのですが、方法が分かりません。 現在分かっていることは、データ形式をBLOB型として格納することくらいです。 SQL文から、またはC APIを使って実現する方法を教えてください。よろしくお願い致します。

    • ベストアンサー
    • MySQL
  • 文字化けにどう対処したら・・・PHPをShift_JISで書いて、MYSQLに格納しました

    最初からEUCで書けばよかったのでしょうが? 知識が無くて、全部Shift_JISで書きました。 (文字化けをなめていました。。) 結構、文字化けすることが多くて修正するしかなくなってきましたが 全部書き直さずに改良するにはどうしたらいいでしょうか? PHP Version 4.4.2 MYSQL 4.0.26 にデータはきちんとShift_JISで入っているようです。 **phpmyadminでShift_JISで表示させるとちゃんと表示します、  それ以外で表示させると文字化けします。 フォームを使って、MYSQLに格納して 後で、呼び出して表示するだけです。 どうか宜しくお願いいたします。 相変わらず、要領の得ない質問でスミマセン。

    • ベストアンサー
    • PHP
  • エクセルをMysqlに格納

    いつもお世話になっております。 Linux,mysql,PHP,apacheの環境で試しているのですが、 エクセルデータをアップロードし、MysqlのBLOB型に格納したいと思っております。また、格納したMysqlのエクセルデータをダウンロードできる流れを考えております。 テンポラリファイルをそのままINSERTするとデータは格納されるのですが、抽出したときに文字化けしてしまいます。 エンコード方法など何か指定するのかと思うのですが 調べたのですが見つかりませんでした。 内部エンコードはEUCになっています。 説明不足な点があるかと思いますが、ご教授お願いします。 /*insert時*/ $localfile = file_get_contents($_FILES['userfile']['tmp_name']); $sql = "INSERT INTO TABLE (fileup) VALUES '".$localfile ."'"; /*ダウンロード時*/ header("Content-type: application/vnd.ms-excel"); header("Content-Disposition: inline; filename=\"".date('Ymd')."list.xls\""); echo $binary;//selectで抽出した時のデータ

    • 締切済み
    • PHP
  • mysqlの文字につて教えてください

    初めまして、私はまだプログラムなどに触って日が浅いのですが。 v.s6.0で、odbcを使ってmysqlのデーターを使い簡単な検索システムを作ろうと思っているのですが、 現在 半角数字の検索は出来るのですが、全角文字の検索が出来なく"数列エラー"と出てしまいます。 mysql内では動くので、v.s6.0とmysqlの文字コード設定が違うのだと思うのですが、どうすればよいのでしょうか。 よろしくお願いします。 環境は、 v.ss6.0 mysql5.1 odbc3.51を使っています。

    • ベストアンサー
    • MySQL