- 追加された行はこの色です。
- 削除された行はこの色です。
[[上へ>../]]
*&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の各ディレクトリ、ファイルのパーミッションが正しく設定されているか、作業の前に確認しておいてください。
**バックアップ [#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(,reply)