nDiki : charset
charset
charset と文字符号化方式
| charset(IANA) | 文字符号化方式 |
| Shift_JIS | シフト JIS |
| EUC-JP | 日本語EUC(圧縮形式) |
| ISO-2022-JP | ISO-2022-JP (RFC1468) |
| UTF-8 | UTF-8 (RFC3629) |
HTML と charset
HTML 4.01 では charset は character encoding をさすとしている ((符号化)文字集合としてはUCSを使用するとしているため、encoding だけをさすものとしている?)。
値に設定できるのは
で定義されているもの(大文字小文字は区別しない)。
スポンサード リンク
Related term
Subversion Windows JIS コーディング規約 Perl Naney Development Guidelines BOM WiKicker TeX メール 開発 JavaScript Naney Java Coding Standards JIS X 0201 仕様 インデント幅 Naney Perl Coding Standards チェックリスト リビジョン管理ガイドライン JIS X 0208 CVS CGI プログラム Naney Revision Control Guidelines Naney Coding Standards ファイル名 Java Naney C# Coding Standards pLaTeX2e PATH_INFO Naney
2003年12月12日 (金)
■ [ Java ] Unicode (UCS) -> 別の charset

Java の String を 'abc' なら US-ASCII (ANSI_X3.4-1968)に、'あいう' なら ISO-2022-JP にしたいという話。 やっぱり文字列中の全ての文字について候補の charset に含まれているか見ていくしかないのか?
Mew だとちゃんと、US-ASCIIだけならus-ascii で、日本語が含まれていれば iso-2022-jp でメールを送ってくれるがここら辺はどうやっているんでしょ。 ソースを見てみるか。
- メールによる社内コミュニケーションの問題 (2006-04-12)
- [ WiKicker ] 通知メールの Subject: フィールドのエン... (2004-01-25)
- Windows 上での Apache 2.0.53 では PATH_INF... (2005-04-10)
- Linux で使えるデスクトップ検索ツール Beagle でローカルファイ... (2006-08-08)
- 今日のさえずり - 明日のミーティング資料 Google ドキュメントで書いた (2007-10-31)
2004年1月25日 (日)
■ [ WiKicker ] 通知メールの Subject: フィールドのエンコーディング修正

WiKicker には通知メールの Subject: フィールドがたまに壊れている問題があるのだが、ずっと放置しておいたままだった。 そろそろ次のバージョンをリリースしたいと思うので、今回修正しておく。
結果半日かかってしまった。
@ MIME::Words::encode_mimewords
まず現在エンコーディングに使っている MIME::Words::encode_mimewords (5.404)であるが、マニュアルを見ると charset によってはマズいエンコーディングを吐くらしい。 WiKicker で Subject: ヘッダが壊れるのも、この問題のせい。 文字境界を無視してぶったぎってエンコードされてしまう。 ということで、自前でエンコードする事にする。
@ 自前エンコーダ
まぁたいしたものではないが。 最初はエンコードする必要のある部分だけ encoded-word にする事も考えたのだが、面倒なのでやめ。 全部エンコードしてしまう事にする。 エンコーディングも最初は、"Q" encoding で実装しはじめたのだが(MIME::Words のデフォルトがそうなので、WiKicker でもそれを使っていた)ちょっと面倒なので、"B" encoding に変更。
@ タイトルの途中に空白が入ってしまう?
で、テスト。うーん。途中に余分な空白が入ってしまうな。 mew で受信したメールを見ると folding のところで余分な空白が入って表示される。 RFCとか見ても encoded-word に挟まれた CRLF SPACE は無視されるはずなんだけれどなぁ。
UTF-8 の代わりに ISO-2022-JPにしてみたりとか、エンコーディングを変えてみたり(Q or B)したのだが変わらず。 他から受けとっているメールは問題ないから、mew の問題でもなさそうだし。
ん? mew の inbox を確認してみると、他のソフトからのは \n, space でフォールディングされているな。 今書いているコードから送ったやつは \r\n, space でフォールディングされている。 RFC的には CRLF space では?
@ 問題は別のところに
WiKicker で \r\n, space でフォールディングしているところを \n, space でフォールディングするようにしたら直る。 けど、これでいいのかな?
って良く考えたら、他の部分はヘッダでも本文でも改行には \n を使っているんだった(Perl のヒアドキュメントを使っているので)。 ということは今まで、それを標準入力から受けとった sendmail が LF を CRLF にしてくれていたのか。 あまり深い事考えてなかったな。 今回はフォールディングのところだけで CRLF にしたため 一個余分に CR がついてしまい、それがタイトルの文字列中の空白として表示されてしまったと。
結局疑うべきは自分のコード。
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
- Perl で CR/LF/CRLF 全対応の1行毎読み込み処理 (2006-07-28)
- Windows 上での Apache 2.0.53 では PATH_INF... (2005-04-10)
- [ DiKicker ] くっつき BBSをくっつけてみた。 (2004-05-04)
- 定型書式で内容を記述していくのに便利な形式は? (2005-11-21)
2004年4月16日 (金)
■ TeX と Subversion

仕事のドキュメント書き。 「ドキュメント管理用 Subversionリポジトリ作成」にのっとってやってみる(結局前回考えて以降、時間がとれなくて Subversion に投入していなかった)。
今期、プロジェクトでこの方式を採用しようと思っているのだが Windows ユーザと協同作業しようとすると charset の問題があるな。 とりあえずいわゆるJISにしておけば pTeX としては問題ないと思うが、他の作業環境はどうなのだろう。
- Subversion - auto-props (2004-05-18)
- Rekisa で TortoiseSVN から日本語ファイルの差分表示 (2006-03-23)
- プロジェクト関連ドキュメントを TeX で (2004-07-23)
- pLaTeX + hyperref + dvipdfmx で PDFにしおりを (2005-04-15)
- pTeX の内部コードを判別して hyperref の設定を切り換え (2005-04-26)
2004年5月4日 (火)
■ [ DiKicker ] くっつき BBSをくっつけてみた。

DiKicker でのコメント機能についてだがあらためて実装するのも大変なので、たつを氏のくっつき BBSを組み込んでみた (v1.0rc2)。
@ ファイルレイアウト
$HOME/etc/kuttukibbs/kuttukibbs.conf - 設定ファイル (一部変更) $HOME/var/log/kuttukibbslog.txt - 管理者用ログファイル $HTML/kuttukibbs/kuttukibbs.cgi - CGIプログラム (一部変更) $HTML/kuttukibbs/getlog.cgi - (一部変更) $HTML/var/kblog/$ID.log $HTML/var/kblog/$ID.js
@ DiKicker への埋め込み
記事毎ののHTMLフラグメントを生成する際に、kuttukibbs.cgi へのリンクと、(getlog.cgi経由での)Feedファイルの読み込み部分を埋め込むように変更。
くっつくFeedファイルが無い場合は commentshortクラスの div要素 (tDiary スタイル)が存在しなくなるようにしたかったのでレンダラではこれを埋め込まず、getlog.cgi で出力するようにした。
ついでに getlog.cgi は
した。
@ kuttukibbs.cgi のUTF-8対応
Feedファイル用にコメントを切りつめる際、UTF-8 だと後続バイトが切り捨てられる場合がある。 WiKicker に UTF-8 用の substr / length ラッパがあるのでこれを使うように修正。
@ tDiary テーマの修正
tDiary では日単位でのコメントでありテーマもそれにあわせてデザインされている。 DiKicker では記事単位にコメントをつけるようにしたいので(またそうでないと記事単位で集約した場合に困るので)、使っているテーマ(Nana さんの flower をベースにしているもの)のCSSを修正。
@ くっつけてみる
テストした範囲ではうまくいっているようだ。 HTMLレンダリング済みの記事はキャッシュが更新されないとコメントするためのリンクが現れないが順次出てくるはず。
くっつきとして見るには要 JavaScript サポート。
- DiKicker にそろそろコメント機能を実装するか (2005-01-26)
- Twitter ステータスを nDiki サイドバーに表示 (2007-11-09)
- WiKicker に JSON でのページ出力機能を追加 (2007-04-03)
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
- nDiki に「はてなスター」をつけてみた (2007-07-11)
2004年5月18日 (火)
■ Subversion - auto-props

Windows 上での TeX 書きユーザと仲良くするために。
svn propset svn:eol-style native report.tex
@ auto-props
~/.subversion/config で
[miscellany] enable-auto-propcs =yes [auto-props] *.tex = svn:eol-style=native
デフォルトで作成される config ではセクション名もコメントアウトされている事に注意。 個人の設定ではなくて、リポジトリとして設定することはできないのかな。
- TeX と Subversion (2004-04-16)
- Rekisa で TortoiseSVN から日本語ファイルの差分表示 (2006-03-23)
- プロジェクト関連ドキュメントを TeX で (2004-07-23)
- Debian GNU/Linux で Dropbox (2008-09-16)
- Windows 上での Apache 2.0.53 では PATH_INF... (2005-04-10)
2005年4月10日 (日)
■ Windows 上での Apache 2.0.53 では PATH_INFO が シフト JIS に

WiKicker の Windows 上での動作確認の続き。 WiKicker のPPM パッケージを作成して ActivePerl 5.8.6.811 上にインストール。 依存するモジュールで、ActivePerl に入っていないものは以下の通り。
- Algorithm::Diff
- Jcode
- Log::Log4perl
- Time::Zone (TimeDate)
既に手元で PPM パッケージ化済みなので、これもインストールしておく。
後は RCS をパスの通っているディレクトリに入れてタイムゾーンを設定。
TZ=JST-9
で CGI プログラムとして実行。 お、表示できた。 書き込みはと。
エラー。
予想していたけれど、sendmail に依存していたところ。 sendmail が見つからない場合はメールの送信をスキップするように修正。
これでうまく動くかなと思ったら、日本語名のページを作るとうまく表示できない問題を発見。
@ PATH_INFO がシフト JIS で渡される
WiKicker では UTF-8 文字列をURIエスケープして WikiPage のURLを生成している。 このURIにアクセスされると WiKicker は、PATH_INFO から WikiName を取り出す。 この文字列がシフト JIS になってしまっている。
Windows がファイル名に使用する charset にあわせて、Apache が変換してしまっているようだ。 調べてみると他の WikiEngine でも同様の問題にあっているという記事が見つかった。
将来の 2.0 系でパッチが取り込まれて修正されるとか、そうでないとか。
現状どうするかなぁ。 WiKicker 側でシフト JIS から UTF-8 に戻すというのもできない事はないけれど、あまりやりたくはないな。 いったんシフト JIS を介しているという時点で、シフト JIS に無い文字の扱いに関する問題をかかえてしまっているし(Apache が)。
対策案:
- Apache 1.x 系を使う (まだ未確認だが、こちらだと勝手に変換されないらしい)
- WiKicker に PATH_INFO を使わないオプションをつける(URI Query Component は勝手に変換されない)
- WiKicker 側でシフト JIS から UTF-8 に変換する
- WiKicker における PageName 最長文字数 (2006-06-10)
- WiKicker 0.35 リリース - 添付機能の修正など (2006-06-20)
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
- PATH_INFO のかわりに REQUEST_URI と SCRIPT_... (2005-04-15)
- [ Perl ] Log::Log4perlのはまりどころ (2004-03-02)
2006年3月23日 (木)
■ Rekisa で TortoiseSVN から日本語ファイルの差分表示

自分の開発チームでは、 Subversion を用いて pLaTeX2e ドキュメントを共同執筆というスタイルが随分多くなってきた (自分が推進しているわけだが)。
チームメンバのほとんどは Windows 上で TortoiseSVN を使っているのだが、内蔵の差分ビューアを使っていると charset を自動判別してくれないので、いわゆる JIS コードで書いている TeX のソースファイルの扱いがちょっと不便である。
そういえば以前はこの問題の声が聞かれたけれど、最近誰も言わなくなったな。 解決したのか、差分とか見なくなったのか。
数行書き換えて、一つの変更点としてコミットメントログを残せる単位でガシガシコミットしてしまう私と一緒に作業している人は、いつもコミット負けしているはずなのだが。
ということで TortoiseSVN で外部差分ビューアとして使えるツールを調べておこう。 まずは差分表示アプリケーション Rekisa。
日本語のファイルの charset を自動判別してくれるし、表示が美しい。 差分を見るには良さそうである。
マージ作業もあわせてするとすると編集機能が必要だが、Rekisa 自身では直接編集できないようだ(外部エディタを呼び出すことはできる)。
マージまですると WinMerge が本命? こちらはまだ試していないので後日。
- TeX と Subversion (2004-04-16)
- Subversion - auto-props (2004-05-18)
- 私的10大ニュース2004 [ comp ] (2004-12-31)
- プロジェクト関連ドキュメントを TeX で (2004-07-23)
- 普通の人向けに svnserve を立ち上げるか (2005-07-26)
スポンサード リンク
Related web page
EUC とは Extended Unix Code の略で、UNIX の内部処理用漢字コードです。 EUC は日本語エンコーディング専用ではなく、中国語用の EUC-ZN や、韓国語用の EUC-KR 等も存在します。 EUC-JP は ISO-2022-JP を第 1 バイト・第 2 バイト共に 0x80 だけシフトさせたもので、このため "最上位ビットを立てた JIS" とか "UJIS" 等と呼ばれる事もあります。 EUC-JP における JIS X 0208 は第 1 バイト・http://www.studyinghttp.net/charset#Abstract
charsethttp://www.w3.org/International/O-charset.ja.html
<Limit> AddDefaultCharset LanguagePriority ScriptAlias SetEnvIfhttp://ore.dyndns.org/web/RTFM.html
■よく検索されるキーワード
perl(62) torrent(54) linux(48) 提案書(47) windows(43) 書き方(41) 使い方(29) アジェンダ(26) x31(25) 充電式カイロ(25) cvs(22) インストール(20) サンプル(20) thinkpad(19) アジェンダとは(19) f-01a(18) wiki(17) c#(16) 感想(16) カイロ(16) usb(16) java(16) 秋葉原(15) debian(15) ヨドバシカメラ(15) subversion(15) 壁紙(15) 作り方(15) 静電気(14) apache(14) グッズ(14) デロンギ(13) フリー(13) sh-01a(13) ganttproject(13) 修理(13) ssh(12) svn(12) ヨドバシ(12) truecrypt(12) ダイソー(11) 手帳(11) activeperl(11) ubuntu(11) ほぼ日手帳(11) firefox(10) mew(10) mp980(10) ドラマ(10) 日本語(10) n-01a(10) google(10) tc-1(10) 評判(10) ツール(10) djunit(9) cgi(9) 動画(9) mp3(9) オイルヒーター(9) docomo(9) rcs(9) 除去(9) centos(9) メモリ(9) エネループ(9) 設定(9) p-01a(9) tortoisesvn(9) 無印(8) ケース(8) 口コミ(8) ミノルタ(8) メール(8) インストーラ(8) 会議(8) xampp(8) 加湿器(8) af(7) 値段(7)■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザインProcess Time: 0.122956s / load averages: 0.04, 0.09, 0.13
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)



スポンサード リンク