**[[続・質問箱/52]] [#bebf3b00]
#author("2018-03-11T12:23:51+09:00;2007-01-24T22:07:23+09:00","","")
**[[質問箱/2052]] [#bebf3b00]
|RIGHT:70|LEFT:410|c
|~カテゴリ||
|~サマリ|EUC JP版を、Shift JIS版に改造したい|
|~バージョン|1.4.2|
|~投稿者|[[extraordinary]]|
|~状態|却下|
|~投稿日|&new{2004-02-24 (TUE) 01:36:45};|
***質問 [#gfef1e4c]
~サーバ環境の都合で、EUC JP版を、Shift JIS版に改造して利用しようとしていますが、文字化けするなど、うまく動作してくれません。改造の手順は以下の通りです。
+'euc'を含むファイルを検索。以下のファイルが該当しました。
 func.php
 init.php
 make_link.php
 wiki/3A636F6E6669672F706C7567696E2F6174746163682F6D696D652D74797065.txt
 wiki/496E74657257696B694E616D65.txt
 wiki/496E74657257696B69A5C6A5AFA5CBA5ABA5EB.txt
 wiki.en/3A636F6E6669672F706C7567696E2F6174746163682F6D696D652D74797065.txt
 wiki.en/496E74657257696B694E616D65.txt
+このうち、3つ目以下の6ファイルは変更の必要なしと判断しました。
以下の通りに変更しました。
--init.php 15行目
 define('SOURCE_ENCODING','EUC-JP');→define('SOURCE_ENCODING','SJIS');
--func.php 409行目、415行目
 charset=euc_jp→charset=x-sjis(2カ所)
--30行目
 else if (SOURCE_ENCODING == 'EUC-JP')
	{
		$is_pagename = ($is_pagename and preg_match('/^(?:[\x00-\x7F]|(?:[\x8E\xA1-\xFE][\xA1-\xFE])|(?:\x8F[\xA1-\xFE][\xA1-\xFE]))+$/',$str)); // EUC-JP
	}
→
 else if (SOURCE_ENCODING == 'SJIS')
	{
		$is_pagename = ($is_pagename and preg_match('/^(?:[\x00-\x7F\xA1-\xDF]|(?:[\x81-\x9F\xE0-\xFC])|(?:[\x40-\x7E\x80-\xFC]))+$/',$str)); // SJIS
	}

手順で間違っている箇所、抜けている箇所ありましたら、是非アドバイスお願いします。
***関連 [#k1f20915]
-[[dev:BugTrack2/209]]
-[[質問箱3/85]]
-[[質問箱/3085]]
***回答 [#k15b325c]
-[[reimy]] &new{2004-02-24 (TUE) 01:59:22};
~charset=x-sjisではなくcharset=Shift_JISです。
-[[xtraordinary]] &new{2004-02-24 (TUE) 14:37:04};
~ありがとうございます。この箇所だけでは解決しないと思われますので、引き続き、アドバイスお待ちしています。Shift_JIS化する人ってあんまりいないかな?
-[[三浦克介]] &new{2004-02-24 (TUE) 21:14:22};
~PHPで問題無く処理するためには、internal_encoding(PHPが内部処理で用いるエンコード、及びPHPソースのエンコード)がEUC-JPかUTF-8でないといけません。SOURCE_ENCODINGをSJISにすると、internal_encodingもSJISになるので、日本語処理はボロボロになるはずです(http://jp2.php.net/manual/ja/ref.mbstring.php 参照)。どうしても、internal_encodingをSJISにしたいという場合は、エンコーディングに関する深い知識と相当な改造が必要です。internal_encodingはEUC-JPかUTF-8にし、http_outputのみSJISにすることを強く強くお勧めしますけど・・・、それじゃぁダメなんでしょうか? ちなみに、サーバー環境の都合って?

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.071 sec.

OSDN