電子書籍の厳選無料作品が豊富!

PHP4.3.3で韓国語Webページを作成しているのですが、
IEでアクセス時、EUC-JPが選択されておりハングル文字が文字化けしてしまいます。(韓国語はEUC-KRで記述)
HTMLのデザイン部分をincludeして使用しているので、
WebサーバからハングルのHTMLファイルを表示させる場合にはハングルが表示されます。

また、別のPHPサーバではPHPからEUC-KRのファイルをincludeしても問題なくハングルが表示されており、
phpinfo()で違いをみるとmbstringにKorean support の有無の差がありました。
ただ、韓国語のサイトを作るサーバはKorean support が無く、
PHPの再インストールもできない状況なので
なんとか解決方法は無いか、と探しています。
何かご存知でしたら情報をいただけますと幸いです。

A 回答 (4件)

header("Content-type: text/html; charset=EUC-KR");


と書いておけば普通に動くような気がしますが、実際にブラウザなどでひらくとHTTPはどのようなヘッダを書き出しているのでしょうか?

default_charsetにEUC-KRを入れたり空にしたりするとどのようになるでしょうか?
    • good
    • 0

#2です。


それでは、

ini_set('mbstring.language','neutral');
ini_set('mbstring.http_output','pass');

と指定して、

header("Content-type: text/html; charset=EUC-KR");

かメタタグでエンコードを記述してみてはどうでしょうか?
    • good
    • 0

韓国語を表示させたいファイルに、



ini_set('mbstring.http_output','EUC-KR');

とか

ini_set('mbstring.language','korean');

を入れてみるというのは?

この回答への補足

アドバイスありがとうございます。
ini_set('mbstring.language','korean');
はエラーは出ないのですが
ini_set('mbstring.http_output','EUC-KR');
を入れると
Warning: mb_http_output(): Unknown encoding "EUC-KR" in /home/wwwroot/takara-bio/html/realtime-kr/prt_rs_kr/search.php on line 20
とWarningが出ます。
ini_set('mbstring.language','korean');
だけでも、やはり最初にEUC-JPが選択されてしまいます。

補足日時:2005/12/27 17:38
    • good
    • 0

PHPに


header("Content-type: text/html; charset=EUC-KR");
を書いておけばいいのではないでしょうか。

この回答への補足

php504様、ご回答ありがとうございます。
上記
header("Content-type: text/html; charset=EUC-KR");
を試しても駄目でした。最初にEUC-JPが選択されてしまいます。
また、HTMLのmetaタグ内にも
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
と記述しております。

さらに
mb_http_output("EUC-KR");
のように記述すると
Warning: mb_http_output(): Unknown encoding "EUC-KR" in /home/wwwroot/takara-bio/html/realtime-kr/prt_rs_kr/search.php on line 20
とWarningが発生します。
(別のmbstringにKorea supportのあるサーバではWarningが出ないのですが・・・)
なんとか現在動いてるPHPの設定を変えずにプログラムを稼動させたく思います。
よろしくお願いします。

補足日時:2005/12/27 15:24
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!