• 締切済み

データベースの登録内容を確認すると文字化けしている

現在、 PostgreSQL 7.4.7 PHP Ver4.3.6 の環境を使用しており、 【php.ini】(以降設定ファイルと略)の設定は、 default_charset = Shift-Jis ・・・ mbstring.http_input = auto mbstring.http_output = SJIS mbstring.internal_encoding = SJIS mbstring.language = Japanese となっており、この設定で既にいくつかのデータベースが作成されて いるのが現状です。 このデータベース内の一つに日本語以外の中国語(Big5ではなくUnicodeで)を(設定ファイルを変更せずに)登録できるようにしたいと考え、データベース作成時に createdb -E UNICODE chinese-table と指定して作成しました。 次に(外注依頼の)外部プログラムから中国語で登録・修正・削除等を行ったところ、入出力に関しては正常に行われたのですが、 windows の コマンドプロンプトから telnet を使用して データベースを参照したところ、中国語ではなく$%等を使用した 文字を使用しての表示(文字化け)になってしまいます。 いろいろサイト等で原因を探してみたのですが、encoding が原因 なのではないかというところまではたどり着いたのですが、どういたらいいのかわからない為、どうかご教授の程よろしくお願いいたします。 最後に、返信に少し時間がかかると思うのですが、最後までご指導して いただければと思いますので、よろしくお願いいたします。

みんなの回答

  • j_goshi
  • ベストアンサー率100% (1/1)
回答No.2

telnetではなく、teratermを利用してみてはいかがでしょうか? とても便利ですよ。

参考URL:
http://www.forest.impress.co.jp/lib/inet/servernt/remote/utf8teraterm.html
回答No.1

既に解決済かも知れませんが、Windowsのコマンドプロンプトだと、通常、SJIS表示ですね?

関連するQ&A

  • 文字化けに関して

    文字化けが起きてしまって困っています。 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
  • PHPの文字化けに関して

    こんにちは。 現在、PHPでWeb画面を作成しているのですが 日本語がすべて文字化けして困っています。 php.iniの設定はWebなどを参考にして以下のような 設定です。 宜しくお願い致します。 =php.iniの設定= default_charset = SJIS mbstring.http_input = auto mbstring.http_output = pass mbstring.internal_encoding = SJIS mbstring.detect_order = auto mbstring.substitute_character = none =.php内の記述= <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> =環境= サーバー:Vine Linux3.2

    • ベストアンサー
    • PHP
  • phpMyFaqでの文字化けについて

    こんにちわ。 現在、phpMyFaqを使ってナレッジベースの構築を検討している者です。 いくつかトピックスが上がっているようでしたが、私も文字化けに 悩まされております。 どなたかアドバイスを戴ければ助かります。 宜しくお願い致します。 <当方の環境> [PHP] php-5.2.6 php.ini [mbstring] mbstring.language = Japanese mbstring.internal_encoding = SJIS mbstring.http_input = auto mbstring.http_output = SJIS mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none; [db] mysql-4.1.22 my.ini default-character-set=sjis [OS] Windows 2003 server [phpMySQL] phpMySQL-2.0.9 なお、MySQL.exeを使って、SQL文で登録内容を確認したところ、 登録した文字は文字化けすることなく、登録ができていました。 表示時の問題でしょうか?

    • 締切済み
    • PHP
  • 入力フォームの文字化け

    PHPのショッピングカートを利用させていただいてます 住所を入力後→確認画面を開くと住所欄の一部が文字化けしてしまいます 例えば「能登半島」と入力すると 確認画面では「能\登半島」と出力されるのです 必ず文字を化けを起こすわけではなく 住所によっては文字化けしません 尚、IEではこの症状はなく Firefoxやサファリでこの現象が起きます .htaccessの設定はこんな設定をしています php_value mbstring.language Japanese php_flag mbstring.encoding_translation On php_value mbstring.script_encoding SJIS php_value mbstring.internal_encoding SJIS

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

    こんにちは、 現在、php5,mysql4で構築しているのですが、 phpmyadminでテーブルに入れた日本語を見ると 文字化けを起こしており、 たぶん、default_charsetだと思うのですが、 何を設定すればよいのでしょうか? MYSQL4 UTF-8 PHP5 mbstring.detect_order auto mbstring.encoding_translation Off mbstring.func_overload 0 mbstring.http_input auto mbstring.http_output SJIS mbstring.internal_encoding EUC-JP mbstring.language Japanese mbstring.script_encoding no value mbstring.substitute_character no value default_charset no value

    • 締切済み
    • PHP
  • 文字化けの原因を教えてください。

    WindowsでスクリプトをEUCで保存し、シフトJISでブラウザへ出力ときの 設定として以下のようにphp.iniを設定しています。 ~php.ini~ output_buffering = On output_handler = mb_output_handler magic_quotes_gpc = Off default_charset = Shift_JIS extension_dir = C:/php/ext extension=php_mbstring.dll mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_input = auto mbstring.http_output = SJIS mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none ~php.ini~ mb_detect_encodingでDBから取得した値の文字コードは、SJISでした。 mb_convert_encoding($dbdata,"EUC-JP","SJIS")で正しく表示されます。 iniファイルの設定のみで正しく表示するにはどのように設定するのがいいのでしょうか?それとも、このような文字コード変換は必須なのでしょうか? よろしくお願いします。 [PHP使用環境] PHP=5.1.6 OS=Windows2000 PRO webserver=apatch2.0 [DB環境(リモートサーバ)] DB=MS SQL Server2000 OS=Windows2003 server R2

    • 締切済み
    • PHP
  • phpでの書き出しでの文字化け解消について

    お世話になります。 SJISを使いたく、php.iniを次のように設定しましたが、まったく文字が読めない状態で書き出されてしまいます。問題点をお教えいただけないでしょうか。 default_charset="Shift_JIS" mbstring.language=Japanese mbstring.internal_encoding=EUC-JP mbstring.http_input = auto mbstring.http_output = SJIS mbstring.encoding_translation=On mbstring.detect_order=auto また、内部円コーディングのmbstring.internal_encoding=EUC-JP はこれでよいのでしょうか。SJISを使うなら、SJISのほうがよいのでしょうか。 どなたか、お助けいただけないでしょうか。 どうか、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHP 入力値 文字化け

    phpでFormで入力した値(日本語)が文字化けしてしまいます。 環境は WinXp pro apache2.0.59 php 4.4.7 php.iniのおもな設定ですが、 mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_input = auto mbstring.http_output = SJIS mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none; ブラウザからすべてShiftJisで入力されているのですが、 それがうまく EUC-JPに内部エンコードされていません。 mb_convert_encording($str,"EUC-JP","auto")をスクリプト内で 記述するとうまく表示されますが、なんとか設定で文字化けしないよう にできないでしょうか? よろしくお願いします。

    • 締切済み
    • PHP
  • MySQLから送られて来たデータの文字化け

    いつもお世話になっています。 今回、phpでmysqlに接続したのですが、mysqlから引っ張ってきたデータが文字化けして困っています。(日本語のみ文字化け) 使っている環境は以下の通りです。 IIS6.0 PHP 5.0.4 MySQL 4.1.22 IISは、CGI、ASP、ISAPIを許可にしています。(.phpを見れるようになっています。) php.iniのmbstringの設定は以下のようになっています。 1105 mbstring.language=Japanes 1110 mbstring.internal_encoding = EUC-JP 1113 mbstring.http_input = auto 1117 mbstring.http_output = SJIS 1124 mbstring.encofing__translation = On 1128 mbstring.detect_order = auto 1132 mbstring.substitute_charecter = auto 1133 mbstring.script_encoding = EUC-JP my.iniの設定は以下のようになっています。 [mysql] default-character-set=sjis [mysqld] default-character-set=sjis skip-character-set-client-handshake mysqlでコマンドで確認したところ以下のような文字設定になっています。 mysql> show variables like "char%"; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | sjis | | character_set_connection | sjis | | character_set_database | sjis | | character_set_results | sjis | | character_set_server | sjis | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ character_set_systemがutf-8になっているのが気がかりですが、 こんな感じで設定しています。 mysql内では文字化けしていないのに、 phpで呼び出した時に文字化けするのでしょうか? どなたかご教授よろしくお願いします。

    • ベストアンサー
    • PHP
  • phpで文字化け(php.ini)

    phpスプリクトはshift-jisで、文字化けしたためphp.iniをいじってみました。しかしどうやっても一定の漢字が文字化けしてしまいます。(「貼る」等…) 設定した箇所は下記の通りです(色々なサイトを回って調べた結果このような設定にしました) PHPのバージョンは4.4.1です。 default_charset = "Shift-JIS" mbstring.language = Japanese mbstring.internal_encoding = SJIS mbstring.http_input = auto mbstring.http_output = pass mbstring.encoding_translation = Off mbstring.detect_order = auto mbstring.substitute_character = none; mbstring.func_overload = 0

    • ベストアンサー
    • PHP