#author("2022-04-03T21:31:43+09:00","","")
#author("2022-04-03T21:37:58+09:00","","")
[[上へ>../]]

RIGHT:&size(12){Category: [[UTF-8>BugTrack2/186]]};

* PukiWikiの文字コードについて [#n2253575]

- PukiWiki 1.5.1 以降、PukiWikiはUTF-8版の利用を推奨しています
- PukiWikiの新規利用の際にはUTF-8版を利用してください
- 既存のEUC-JP版のサイトをUTF-8に変換・移行するために [[EUC-JP to UTF-8]] のツールを利用できます

*&aname(utf8);EUC-JPからUTF-8への移行 [#vd0e1f50]

&size(25){&color(red){このページの情報は古くなっています。 [[EUC-JP to UTF-8]] を参照してください。};};

*&aname(utf8);EUC-JPからUTF-8への移行 [#vd0e1f50]
:&color(crimson){【注意】};|
~UTF-8化はやりたい人だけがすることで、''PukiWiki 1.4の動作に必要なことではありません。''
~また、UTF-8化することを''おすすめしているわけではありません。''むしろ、今後のバージョンアップやメンテナンス作業を考えれば、''従来通りEUC-JPを推奨します。''
~UTF-8化した場合、phpファイルやskinファイルなどの編集はUTF-8対応のエディタで行なう必要があります。PukiWikiのバージョンアップ(差分のパッチ当てを含む)の際もphpファイル(差分ファイルを含む)をUTF-8にコンバートする必要があります。
~UTF-8化が必要でない人、UTF-8を扱える環境にない人は、以下の操作は行なわないように。
//:&color(crimson){【必要条件】};|
//~PHP 4.3.0以上でないと、「~」が「〜」に文字化けします。[[BugTrack/246]]参照。
//~PHP 4.3.0以上でないと、中国語や韓国語との混在使用で、文字が消える場合があります。[[BugTrack/282]]参照。
:&color(crimson){【警告】};|
~UTF-8化の作業は、必ずPukiWiki 1.4が動作している環境で行なってください。
~PukiWiki 1.3系列の人は、あらかじめ、[[PukiWiki/1.4/1.3系からの移行]]に従い、PukiWiki 1.4にアップデートし、PukiWiki 1.4が動作することを確認しておいてください。
~PukiWikiの各ディレクトリ、ファイルのパーミッションが正しく設定されているか、作業の前に確認しておいてください。

最新の情報については、UTF-8版関係のまとめ([[BugTrack2/186]]) も確認してください

#contents

----
**バックアップ [#neec5f2e]
バックアップは非常に大切です。以下の作業を行う前に、*.phpやスキン、プラグイン、attach,backup,counter,diff,wikiディレクトリを含む全てのデータをバックアップしてください。(やり方はお任せします :) )

**準備するもの [#aa38d1c4]
-[[jcode_1.34.zip:http://www.spencernetwork.org/jcode/]]をダウンロード
-ダウンロードしたjcode_1.34.zipを解凍し、中のファイルをpukiwikiのplugin/jcode_1.34ディレクトリにアップロード

**手動で書き換える部分 [#q17a01dc]
-init.php
 define('SOURCE_ENCODING','EUC-JP');
を
 define('SOURCE_ENCODING','UTF-8');
に変更。
-pukiwiki.skin.en.php
 <?php header('Content-Type: text/html; charset=iso-8859-1') ?>
 <?php echo '<?xml version="1.0" encoding="iso-8859-1"?>' ?>
を
 <?php header('Content-Type: text/html; charset=UTF-8') ?>
 <?php echo '<?xml version="1.0" encoding="UTF-8"?>' ?>
に変更。
 <meta http-equiv="content-type" content="application/xhtml+xml; charset=iso-8859-1" />
を
 <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
に変更。
-pukiwiki.skin.ja.php
 <?php header('Content-Type: text/html; charset=EUC-JP') ?>
 <?php echo '<?xml version="1.0" encoding="EUC-JP"?>' ?>
を
 <?php header('Content-Type: text/html; charset=UTF-8') ?>
 <?php echo '<?xml version="1.0" encoding="UTF-8"?>' ?>
に変更。
 <meta http-equiv="content-type" content="application/xhtml+xml; charset=EUC-JP" />
を
 <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
に変更。

**ファイルのコンバート [#k806a570]
//-[[しろくろのへや:UTF-8]]からconvert.phpをダウンロード
//-ダウンロードしたconvert.phpをconvertディレクトリにアップロード
-[[PukiWiki/1.4/1.3系からの移行]]ページに添付されている&ref(convertcode.inc.php,[[PukiWiki/1.4/1.3系からの移行]]);をpluginディレクトリにコピー
-http://.../pukiwiki.php?plugin=convertcodeを実行
-pluginディレクトリのconvertcode.inc.phpを削除
-pluginディレクトリのjcode_1.34ディレクトリを削除

&color(red){上記のものは、古いのでそのままでは現在の構成では問題があります。ご注意ください}; &new{2004-11-12 (金) 07:57:33};時点

**InterWikiNameの再編集 [#z2463fae]
-エンコード指定を変更する必要がある。
--無指定やpwやywになっているものは、相手側のコード(euc、utf8など)を指定

**注意 [#z1d99038]
-UTF-8では日本語1文字が3バイトになるため、ページを階層化している場合、ファイル名が長くなり過ぎてコンバートできない場合があります。深い階層・長いページ名を使っている場合は要注意。--[[reimy]] SIZE(10){2003-03-06 (木) 18:26:55}

**Internationalization of UI(in case you are running internationalized wiki) [#l054d3d2]
-'''simple''' i18n of UI :)  (We should use gettext or something like that in the long run, but for now..)
 --- pukiwiki.ini.php~   Mon Feb  7 22:22:40 2005
 +++ pukiwiki.ini.php    Mon Feb 28 12:57:39 2005
 @@ -37,7 +37,17 @@
  define('LANG', 'ja');
 
  // UI_LANG - Content Language for buttons, menus,  etc
 -define('UI_LANG', LANG); // 'en' for Internationalized wikisite
 +$UI_LANG = LANG; // Default UI language, 'en' for English
 +
 +$use_utf8 = 1;
 +if ($use_utf8) {
 +       preg_match('/^([^-,;]+)(-|,|;|$).*/', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $lang);
 +       if (is_readable("$lang[1]_utf8.lng.php"))
 +               define('UI_LANG', "$lang[1]_utf8");
 +       else
 +               define('UI_LANG', $UI_LANG);
 +} else
 +       define('UI_LANG', $UI_LANG);
 
  /////////////////////////////////////////////////
  // Directory settings I (ended with '/', permission '777')
it tries to find language file(e.g. ja_utf8.lng.php, ko_utf8.lng.php) according to user's browser setting and defines UI_LANG. -- [[xo]] 2005-02-28 (月) 13:46:48

**コメント [#l53a5608]

#pcomment()

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

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.115 sec.

SourceForge