• ベストアンサー

DB2の文字化け

DB2のテーブルデータをExportすると、Aix上でviで開くと平仮名などが文字化けを起こしまいます。 最終的にはAix→Windowsへファイルを転送するつもり なのですが、どう対処すればいいのか困っております。 DB2のコード・ページ:1208 データベース・コード・セット:UTF-8

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

  • ベストアンサー
  • dobaken
  • ベストアンサー率63% (7/11)
回答No.1

Aix上のファイルを見る際にAixの画面で直接見ているのでしょうか? 自端末からTeraTermを使用してファイルを見ている場合は、TeraTermの表示の問題かもしれません。TeraTerm の古いバージョンでは、UTF-8(Unicode)に対応していないようです。その場合はTeraTermを最新版にすれば大丈夫みたいです。 見当違いであればすみません。

xyz12345
質問者

補足

Aixの画面で直接(実機)見ています。 telnet、sshは利用しておりません。 何か対応方法ご存知でしたらお願い致します。 pagecodeの設定を1208,954としてexportして見ても ダメなのです。。 ex. db2 "export to filename of del modified by codepage=1208 select column from tablename"

その他の回答 (1)

  • dobaken
  • ベストアンサー率63% (7/11)
回答No.2

ちょっとすぐには分かりそうにないですm(_ _)m 下記サイトに解決のヒントがあるかもしれません。

参考URL:
http://db2forum.jp/
xyz12345
質問者

お礼

情報をどうもありがとうございます。 (お時間を割いて、調べて頂きありがとうございます) 今回の件ですが、なんとか解決できました。 AIXのロケール(locale)を確認したところ、 Ja_JP(Shift_JIS)になっていました。 これはja_JPだとEUC-JPの事を指しているようなのです。 viで編集する場合は、気をつけなければいけない事だったのですね。 で、exportする前に、 db2set "db2codepage=943"(sjis)をセットしてあげて、 出力ファイルも正常に読み込むことができました。

関連するQ&A

  • phpMyAdminの文字化け

    いつもお世話になっております。 phpMyAdminで文字化けをしてしまいます。 文字コードは全てutf-8で統一しております。 (PHPファイル、データベース) (1)MySQLの設定を変更→解決せず -------------------------------------------------- # vi /etc/my.cnf ↓ ---------- ここから追加 ---------- ↓ [mysqld] character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 ↑ ---------- ここまで追加 ---------- ↑ :wq -------------------------------------------------- (2)phpMyAdminの設定を変更→解決せず -------------------------------------------------- $cfg['DefaultLang'] = 'utf-8'; $cfg['DefaultCharset'] = 'utf-8'; テーブルの照合順序とカラムの照合順序をutf8_unicode_ciに 変更いたしましたが、ダメでした。 -------------------------------------------------- (3)phpからデータベースに接続直後、SET NAME utf-8を実行→解決せず -------------------------------------------------- function db_conn() {  $db_link = @mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD));  if ($db_link) {   mysql_select_db(DB_DATABASE);   mysql_query('SET NAMES utf-8');   return $db_link;  } } ご教授お願いいたします。 よろしくお願いいたします。 <環境> OS:Red Hat Enterprise Linux ES[ v.4 ] MySQL:4.1.20 PHP:4.3.9

    • ベストアンサー
    • MySQL
  • 文字化けで困っています。

    PHP のプログラムで CSV の読み込みを行うプログラムを組んだのですが、 文字化けするケースがあり困っています。 どういうケースで文字化けするのかもよくわからないのです。 CSV 読み込みプログラムは、次のサイトのものを利用させていただいています。 http://d.hatena.ne.jp/deeeki/20110410/excel_csv_php 文字化けする文字は、全角大文字で。 「INSURANCE BLDG. VI(6)」 で、 文字化け後の文字は、 「��NSURANCE BLDG. VI(6)」 です。 Excel で作成した CSV データを UTF-8 の PHP アプリでデータベースに 登録しようとしています。 Shift_JIS から UTF-8 の文字コード変換です。 わかる方、書き込みお願いします。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • php db 文字化け

    文字コードEUC-JPで開発しています。 題名の通り文字化けします。 どうやらDBからselectやinsertしたときに文字化けをするようです。 selectですと文字化た値が取れますし、 insertでは文字化けするためinsertできずエラーとなります。 sql直前で mysql_query("set names EUC-JP"); も行っています。 テーブルの文字コードはオプションで eucjpms -- UJIS for Windows Japanese としています。 個別に該当カラムもそうしています。 何がまずいでしょうか?

    • 締切済み
    • PHP
  • phpMyadminの文字化け

    さくらレンタルサーバを利用し、問合せフォームを作成しています。 問合せ内容をプロシージャを使いデータベースに格納しています。 タイトルにもありますようにデータベース格納後phpMyAdminで見た際に文字化けしてしまいます。 半角数値は見れるのですが、日本語は文字化けしてしまいます。 環境は以下の通りです。 ■さくらレンタル DB:MySQL クライアントのバージョン: 5.1.30 MySQL の文字セット: UTF-8 Unicode (utf8) MySQL 接続の照合順序 utf8_general_ci テーブルの照合順序utf8_general_ci カラムの照合順序utf8_general_ci ■Web サーバ Apache(バージョン不明 phpMyAdminのバージョン3.2.3 PHPバージョン5.2.11 データベース接続方法 PDOを使用し、プロシージャーをコールしています。 プロシージャーのクリエイト文では文字コードのセットはしていません。 phpMyAdminからプロシージャを直接コールすると文字化け致しません。 $this->dbh = new PDO(DB_NAME, DB_USER, DB_PASSWORD); $this->dbh -> query("SET NAMES UTF-8;"); 上記で接続しています。 ■PHPファイル phpのエンコードはShift-JIS メタタグは以下の用にしています <meta http-equiv="Content-Type" content="text/html; Shift_JIS" /> <meta http-equiv="Content-Language" content="ja" /> プロシージャのパラメーター設定時に mb_convert_encoding($_SESSION['other'],"UTF-8") セッションの値をUTF-8にエンコードして設定しています。 上記のようになっております。 メタタグでUTF-8に設定すればいいのでしょうか? 設定またはエンコード方法で解決できるのでしょうか? 以上、よろしくお願いします。

    • ベストアンサー
    • MySQL
  • CakePHPでDBに入れる際文字化け

    お世話になります。 現在CakePHPで携帯サイトを作成しているのですが、 通常出力は問題ないのですが、 フォームからDBに入れる際に文字化けが起こります。 ■現在行っている設定 charset=SJIS ファイルの文字コード:SJIS CakePHPのdatabese.phpのエンコード設定:SJIS MySQL の文字セット: UTF-8 Unicode (utf8) ご教授よろしくお願いいたします。

    • 締切済み
    • PHP
  • phpMyAdmin内での文字化け

    サーバはさくらインターネットを利用してます。 レンタルサーバから専用サーバに移転したのですが、 専用サーバではphpMyAdminで日本語データの文字化けが起きます。 専用サーバのphpMyAdminからDB作成の際、下記の設定で行い、 MySQLの文字セット UTF-8 Unicode (utf8) MySQLの接続照合順序 utf8_unicode_ci DB の照合順序 utf8_unicode_ci レコードをINSERTする際、下記のように文字コードを指定し、 $sql=mb_convert_encoding($sql,"EUC-JP","EUC-JP"); execute_sql($con, $sql); 実行したら、phpMyAdmin内で日本語データが文字化けしました。 サイト内で表示しているDBデータ(日本語)は文字化けしませんでした。 DB の照合順序をutf8以外(ujis_japanese_ciなど)として、 DBを作った場合、レコードをINSERTしたら、サイト内のDBデータも phpMyAdmin内データもどちらも日本語が文字化けします。 また、レンタルサーバのphpMyAdminからDBデータをエクスポートして、 専用サーバのphpMyAdminからインポートした場合、 読み込むDBデータファイルの文字コードをUTF-8にしなければ、 phpMyAdmin内で日本語データが文字化けしてしまいます。 ただ、UTF-8にしてインポートしてもphpMyAdmin内では 文字化けしませんが、サイト内で表示しているDBデータは 文字化けします。 専用サーバのphpMyAdminから データを日本語の文字列に編集・更新したら、 phpMyAdmin内ではそのデータに関しては文字化けなく表示されますが、 サイト内ではそのデータは文字化けしてしまいます。 専用サーバ情報は下記の通りです。 【専用サーバ】 OS:CentOS 5 Apache 2.2.3 PHP5.1.6 DBサーバ:MySQL 5.0.77 アップしているファイルの文字コード:EUC 分かる方、ご回答、よろしくお願いいたします。

    • 締切済み
    • PHP
  • html + php 文字化けの問題【utf-8】

    文字化けが直りません。どうしたらいいでしょうか? phpとmysqlをつかってデータベース表示させるページなのですが、データベースの文字コードがutf-8なのでphpファイルの文字コードをeucからutf-8に変更しました。そうするとデータベースは正常に表示されるのですが、htmlの部分は全て「?」になってしまいます。 文字コードの変換はEmEditorで変更し、変化が見られなかったので、変換用のフリーソフトを使ってみましたが、やっぱり文字化けの状態です。どなたかご教授ください。お願いします。

    • 締切済み
    • PHP
  • codeigniter 文字化け

    codeigniterからの出力が文字化けします。 mysqlへの入力は正常です。 mysqlのcharacter_set関係はすべてutf8です。 DBもutf8ですし.. どこに問題があるのでしょうか。 よろしくお願いします。

    • 締切済み
    • PHP
  • phpMyAdminで文字化け

    MySQLを3.27→5.0にしました。 PHPからデータベースに書き込むと、3.27のときは普通に書き込めたのですが、 5.0になったら文字化けしてしまいます。 コードは全てUTF-8で統一しています。 phpMyAdminは $cfg['DefaultLang'] = 'utf-8'; $cfg['DefaultConnectionCollation'] = 'utf8_unicode_ci'; $cfg['Lang'] = 'utf-8'; $cfg['DefaultCharset'] = 'utf-8'; と設定をしています。 どのようにすれば文字化けがなくなるのでしょうか?

    • 締切済み
    • PHP
  • 文字化けに関して

    文字化けが起きてしまって困っています。 PHPとMysqlを使用した、CMSを今あるサーバから別のサーバに移したいのですが、 新しいサーバに移すと文字化けをしてしまいます。 正確にはデータベースから読み込んでいる部分だけが文字化けしています。 index.phpにHTMLコードとして記述してある部分は文字化けしていません。 ブラウザ(IE)の「表示→エンコード」からUTF8を選ぶと逆に データベースの部分が正確に表示され、HTMLに直接書き込んだ部分が文字化けします。 現状でわかる範囲で書きます。 ・index.phpのmetaは <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> ・MYSQL(phpmyadminに書かれている)文字セットは UTF-8 Unicode (utf8) ・php.iniの設定 mbstring.language・・・japanese mbstring.internal_encoding・・・UTF-8 mbstring.encoding_translation・・・on mbstring.http_input・・・未設定 mbstring.http_output・・・未設定 default_charset・・・未設定 output_handler・・・未設定 output_buffering・・・未設定 magic_quotes_gpc・・・Off 詳しい方よろしくお願いします。

    • ベストアンサー
    • PHP