• ベストアンサー

Fedora Core1の文字コードをEUC-JPにする

Fedora Core1の文字コードを UTP-8から従来のEUC-JPに変更する方法が載っていました。 http://rarfaxp.riken.go.jp/comp/tips/fedora.html ただ、変更時期がインストール直後となっています。 直後というのは、直後でないと一切ダメという意味か、作業が進んでからやると、変更前と後で矛盾が生じるとかいう意味なのかどういうことなのでしょうか? PostgresのDBでトラブっていて、ここを変更してもEUC-JPでDBを作成するとうまくいきません。 よろしくお願いします。

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

  • ベストアンサー
  • usotsuki
  • ベストアンサー率46% (147/319)
回答No.2

日頃PostgreSQLを使用しているわけではないので、参考程度です。 >Fedora Core1の文字コードを UTP-8から従来のEUC-JPに変更する方法が載っていました。 OS上での言語の環境変数として、 [root@pent7 root]# su - postgres -bash-2.05b$ echo $LANG ja_JP.UTF-8 あるいは、一時的に、ja_JP.eucJPで、dateをみると、 -bash-2.05b$ LANG=ja_JP.eucJP date 2004ǯ 5�� 2�� ������ 05:55:09 JST (最終表示は異なると思います) 同様に、フランス語の環境とすると、 -bash-2.05b$ LANG=fr_FR date dim mai 2 05:55:25 JST 2004 の様になります。 >直後というのは、直後でないと一切ダメという意味か、作業が進んでからやると、変更前と後で矛盾が生じるとかいう意味なのかどういうことなのでしょうか? いつでも変更は可能とおもいますが、今回のPostgreSQLの場合のencodingとは、別の問題と思います。LANGで、一時的に変更するか、export LANGで恒久的に、環境を変更するかではないでしょうか。 >PostgresのDBでトラブっていて、ここを変更してもEUC-JPでDBを作成するとうまくいきません。 PostgreSQLは、ダウンロードされたのでしょうか、Fedora Core 1にも、redHatのどのバージョンから組み込まれたのかは失念しましたが、始めから入っているPostgreSQLでは、"postgres"ユーザも存在します。 $ initdb --no-locale encoding=EUC_JP あるいは、PostgreSQLをソースからコンパイルするのであれば、 ./configure --enable-multibyte[=encoding_system]で、エンコードを選択することが可能です。 引数無しで初期化すると、encodingは、SQL_ASCIIとなります。 $ postmaster& $ psql -l -bash-2.05b$ psql -l List of databases Name | Owner | Encoding -----------+----------+----------- template0 | postgres | SQL_ASCII template1 | postgres | SQL_ASCII (2 rows) -bash-2.05b$ createdb test CREATE DATABASE -bash-2.05b$ psql -l List of databases Name | Owner | Encoding -----------+----------+----------- template0 | postgres | SQL_ASCII template1 | postgres | SQL_ASCII test | postgres | SQL_ASCII -bash-2.05b$ createdb -E EUC_JP test2 CREATE DATABASE -bash-2.05b$ psql -l List of databases Name | Owner | Encoding -----------+----------+----------- template0 | postgres | SQL_ASCII template1 | postgres | SQL_ASCII test | postgres | SQL_ASCII test2 | postgres | EUC_JP SQL_ASCIIでも、insert文で、日本語が入力できました。理由は良く分かりません。 -bash-2.05b$ psql test Welcome to psql 7.3.4, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help on internal slash commands \g or terminate with semicolon to execute query \q to quit test=# CREATE TABLE test ( test(# city varchar(80), test(# date date test(# ); CREATE TABLE test=# select * from test; city | date ------+------ (0 rows) test=# INSERT INTO test VALUES ('東京','2004-05-02'); INSERT 25177 1 test=# select * from test; city | date --------+------------ 東京 | 2004-05-02 (1 row)

abcxyz3000
質問者

お礼

#1さん、#2さん、こんにちは。 インストールですが、インストールはrpmからしています。 Fedoraのロケール(eucへ)を変更してからcreatedbし、.php(eucで)やってみたところ、無事動きました。 ただ、UTF-8のまま、eucでcreatedbした時はダメでした。 本題の途中から変えてもOKかという点ではOKのもようでした。 initdb からのテストは環境がないためできませんでした。次回、また、試してみようと思います。 どうも、ありがとうございました。

その他の回答 (1)

  • hirasaku
  • ベストアンサー率65% (106/163)
回答No.1

こんにちは。hirasaku です。 直後じゃなくても大丈夫だと思うのですが。 postogreSQLは詳しくないのですが、ちょこっと調べてみたら、postgreでロケールの設定ができるようなのですが。 postgreのバージョンが書かれてないのでわかりませんが initdb --encoding=EUC_JP --no-locale もしくは initdb -E EUC_JP --no-locale で、defaultのロケールが設定できるようなのですが。 試されましたか

関連するQ&A

  • psqlの文字コードエラー

    psqlでDBを作りたいのですが データを入力する際に、invalid byte sequence for encoding "EUC_JP"というエラーが出て日本語の入力ができません。 使用しているOSは Fedora Coreで 文字コードを UTP-8を変換しようとしています よろしくお願いします。

  • initdbの文字コードと違う文字コードでDB作成

    postgres9.0.4でEUCでinitした環境があります。 initdb --encoding=EUC_JP そこにUTF8のDBを作成したいのですが、以下のようなエラーがでます。 psql -U postgres postgres=# CREATE DATABASE dbname postgres-# WITH ENCODING='UTF8' postgres-# OWNER=dbowner postgres-# CONNECTION LIMIT=-1; ERROR: encoding UTF8 does not match locale ja_JP.eucJP DETAIL: The chosen LC_CTYPE setting requires encoding EUC_JP. 既に運用が始まっているEUCのDBが稼動している状態です。 EUCで初期化したところに後からUTF8のDBを作成する方法はないのでしょうか?

  • 文字コードを”euc-jp”に変換すると文字化けします

    文字コードを”euc-jp”に変換するとIEで表示できません。 cssの文字コードの変更方法を教えてください。

  • Fedora Core 5 にログインできない

    fedora core5 の文字をUTF-8 から euc.JPに /etc/sysconfig/i18n に書き換えたら その後 fedora にログイン出来ません、ユーザー名に入力前に言語をシステムのデフォルトかuec.JP に変えても rootの入力を受け付けてくれません アドバイスをお願いします

  • OSの文字コードはUTF-8か?EUC-JPか?どちらがいいでしょうか・・・

    この度、CentOS4で自宅サーバを構築しようと思っています。 そこで、確認したいことがあるので、ご意見など頂ければと思います。 CentOS4はシステムの文字コードがUTF-8ですが、これはEUC-JPに変更したほうがいいのでしょうか? サーバの目的としては、知り合い・身内などが使うWEB・FTP・メールサーバ機能を持たせ、Sambaを設定してファイルサーバにもする予定です。 WEBサーバ上では、各人がPHP・Perlによるスクリプトを動かしますし、Tomcatも使います。 私自身も、サンプルなどとしてosCommerceやXPOOSなどのオープンソースのものも動かします。 上記においては、EUC-JPに変更したほうがいいのでしょうか? 今までは、FedoraCore3を使っていましたが、EUC-JPに変更していましたのでEUC-JPにすればいいかもしれませんが、これから作成するPHPやPerlのスクリプトなど今後の変更を考えれば、はじめからUFT-8のほうが良いのかなと思っています。 ただ、他の利用者は、エディタやFTPソフトなど使用しているソフトがUTF-8に対応しているものを使用しているとは限らないので、やっぱりEUC-JPのほうが良いのかなという気もしますし・・・ 皆さんのご意見・アドバイスなど頂けたらと思います。 よろしくお願いします。

  • Fedora Core2での文字化け

    ターミナルでの文字化けを検索すると /etc/sysconfig/i18nの変更がヒットします。 LANG="ja_JP.euc_JP" SUPPORTED="ja_JP.euc_JP:ja_JP:ja" SYSFONT="latarcyrheb-sun16" これでいくと、リモートからputty.exeなどでtelnetした 際は文字化けしませんが、サーバーのターミナル上では 文字化けします。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=966286 にはターミナルの設定をEUCにしてくださいとありますが、 サーバのターミナルの文字コードはどこで変更するので しょうか? よろしくお願いします。

  • 文字コードEUC-JPを指定するとレイアウトが崩れます

    こんにちは。 xhtmlとCSSで制作しているページ(Shift_JIS)があるのですが、EUC-JPにする必要があり、文字コードのみを変更したのですが、CSSがうまく読み込めていないようなレイアウト崩れが起こります。Shift_JISに戻すと大丈夫になります。※Win IE6と7だけでおかしくなり、他のブラウザはありません。 なにかご存知の方、いらっしゃいますか?

    • 締切済み
    • PHP
  • 文字コードをEUC-JPに変更したところインクルードしている部分が文字化けしてしまいました

    こんにちは。 webページをutf-8で作っていたのですが、 諸般の事情によりEUC-JPに変更することになりました。 css、js等も文字コードを変更したのですが、 インクルードしている部分だけが上手く読み込まれず文字化けしてしまいます。。 インクルードのhtmlにヘッダーを置けないので、 文字コードを設定できていないせいかと思うのですが、 何かいい方法はありませんでしょうか。 どうぞよろしくお願いいたします。

  • javaでEUC-JP文字列→UTF-8への変換

    DB内にEUC-JPで保存されているデータを取得して、これをUTF-8文字列として扱いたいです。 phpでいうところの$string = mb_convert_encoding($string, "UTF-8", "EUC-JP"); をjavaで実現したいです。 どのように記述すれば変換できるのでしょうか? 検索しても、数十行もコードを書いて実現しているものばかりで、 シンプルな方法が見つかりません。 javaには難しい処理なのでしょうか…

  • phpがsjisファイルを勝手にeuc-jpに

    変更してブラウザに表示してしまうのですが どうしたらこのような変換をやめさせることができるでしょうか? phpinfo()を見てみると  PHP Core ・・・・・・・・・・・・ default_charset EUC-JP(local value) EUC-JP(master value) ・・・・・・・・・・・・  mbstring ・・・・・・・・・・・・ mbstring.http_output EUC-JP(local value) EUC-JP(master value) mbstring.internal_encoding EUC-JP(local value) EUC-JP(master value) ・・・・・・・・・・・・ となっています。 このEUC-JPをsjisに変更したらいいのでしょうか? そうだとするとその方法を教えてください。

    • ベストアンサー
    • PHP