質問箱/2052
の編集
Top
/
質問箱
/
2052
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
Wikiを試したい方へ:
「この」Wikiは、
PukiWiki
のための公式Wikiです。
テスト書き込みなどは
お試しサイト
https://pukiwiki.osdn.jp/_trial/
をご利用ください
**[[質問箱/2052]] [#bebf3b00] |RIGHT:100|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]] -[[質問箱/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
**[[質問箱/2052]] [#bebf3b00] |RIGHT:100|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]] -[[質問箱/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
テキスト整形のルールを表示する