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
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 でメールを送ってくれるがここら辺はどうやっているんでしょ。 ソースを見てみるか。
- [ WiKicker ] 通知メールの Subject: フィールドのエンコーディング修正 (2004-01-25)
- メールによる社内コミュニケーションの問題 (2006-04-12)
- Linux で使えるデスクトップ検索ツール Beagle でローカルファイルを検索 (2006-08-08)
- Windows 上での Apache 2.0.53 では PATH_INFO が シフト JIS に (2005-04-10)
- ISP から Outbound Port25 Blocking を行うとのお知らせ (2006-05-23)
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 がついてしまい、それがタイトルの文字列中の空白として表示されてしまったと。
結局疑うべきは自分のコード。
- Twitter ベイジアンフィルタプロキシ (2007-12-29)
- [ DiKicker ] くっつき BBSをくっつけてみた。 (2004-05-04)
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
- Windows 上での Apache 2.0.53 では PATH_INFO が シフト JIS に (2005-04-10)
- Perl で CR/LF/CRLF 全対応の1行毎読み込み処理 (2006-07-28)
2004年4月16日 (金)
■ TeX と Subversion

仕事のドキュメント書き。 「ドキュメント管理用 Subversionリポジトリ作成」にのっとってやってみる(結局前回考えて以降、時間がとれなくて Subversion に投入していなかった)。
今期、プロジェクトでこの方式を採用しようと思っているのだが Windows ユーザと協同作業しようとすると charset の問題があるな。 とりあえずいわゆるJISにしておけば pTeX としては問題ないと思うが、他の作業環境はどうなのだろう。
- Rekisa で TortoiseSVN から日本語ファイルの差分表示 (2006-03-23)
- Subversion - auto-props (2004-05-18)
- pLaTeX + hyperref + dvipdfmx で PDFにしおりを (2005-04-15)
- pTeX の内部コードを判別して hyperref の設定を切り換え (2005-04-26)
- プロジェクト関連ドキュメントを TeX で (2004-07-23)
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)
- WiKicker に JSON でのページ出力機能を追加 (2007-04-03)
- iCalendar 形式経由でスケジュールを社内 Blog に表示 (2007-01-08)
- Twitter ステータスを nDiki サイドバーに表示 (2007-11-09)
- DiKicker の出力する HTML コードを小さく (2006-10-05)
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 ではセクション名もコメントアウトされている事に注意。 個人の設定ではなくて、リポジトリとして設定することはできないのかな。
- Rekisa で TortoiseSVN から日本語ファイルの差分表示 (2006-03-23)
- TeX と Subversion (2004-04-16)
- プロジェクト関連ドキュメントを TeX で (2004-07-23)
- [ お仕事 ] 事後評価セッション (2004-08-18)
- ptexlive で UTF-8 pLaTeX2e 文書対応 (2010-09-09)
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 が)。
対策案:
- WiKicker における PageName 最長文字数 (2006-06-10)
- WiKicker 0.35 リリース - 添付機能の修正など (2006-06-20)
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
- PATH_INFO のかわりに REQUEST_URI と SCRIPT_NAME を使う (2005-04-15)
- XAMPP で WiKicker を動かしてみた。PPM インストール OK。 (2007-02-09)
2006年3月23日 (木)
■ Rekisa で TortoiseSVN から日本語ファイルの差分表示

自分の開発チームでは、 Subversion を用いて pLaTeX2e ドキュメントを共同執筆というスタイルが随分多くなってきた (自分が推進しているわけだが)。
チームメンバのほとんどは Windows 上で TortoiseSVN を使っているのだが、内蔵の差分ビューアを使っていると charset を自動判別してくれないので、いわゆる JIS コードで書いている TeX のソースファイルの扱いがちょっと不便である。
そういえば以前はこの問題の声が聞かれたけれど、最近誰も言わなくなったな。 解決したのか、差分とか見なくなったのか。
数行書き換えて、一つの変更点としてコミットメントログを残せる単位でガシガシコミットしてしまう私と一緒に作業している人は、いつもコミット負けしているはずなのだが。
ということで TortoiseSVN で外部差分ビューアとして使えるツールを調べておこう。 まずは差分表示アプリケーション Rekisa。
日本語のファイルの charset を自動判別してくれるし、表示が美しい。 差分を見るには良さそうである。
マージ作業もあわせてするとすると編集機能が必要だが、Rekisa 自身では直接編集できないようだ(外部エディタを呼び出すことはできる)。
マージまですると WinMerge が本命? こちらはまだ試していないので後日。
- Subversion - auto-props (2004-05-18)
- TeX と Subversion (2004-04-16)
- Evernote 使用開始 (2009-03-03)
- 普通の人向けに svnserve を立ち上げるか (2005-07-26)
- 私的10大ニュース2004 [ comp ] (2004-12-31)
2010年3月16日 (火)
■ 今日のさえずり - 紫のハンドタオルを口に当てた人が電車から下りてきた

@ 2010年03月15日
- 09:33 JR 3月13日にダイヤ改正したんだっけ。先週とちょっと電車の時間が違ってあれって思った。
- 09:53 ヨドびの公式サイトができたって。 (@ ヨドバシカメラマルチメディアAkiba) http://4sq.com/77WGwe
- 15:01 CoTweet サインアップしてみた。
- 15:02 ヨドびも Twitter やってるんだ。 RT @yodobi: @Naney わーい!ヨドびちゃんも仲間入りです。よろしくお願いします!
- 17:25 お茶 103円。 (@ ファミリーマート神田佐久間町店) http://4sq.com/biJuCj
- 20:17 あー、今日の夜何食べるかまだきまらない(会社で食べるつもりだったけど予想外にキリがついたので退社済み)。
- 20:20 隣の人が15分以上、中古 CD のシールを剥がして残った糊を猿のようにペタペタやってる。
- 20:25 ちょっと雨。さぼてんにした。 (@ アトレ大井町) http://4sq.com/8jv27N
- 23:10 おサイフケータイ対応ゴールドポイントカード削除。
- 23:20 おサイフケータイ Edy のサービス登録削除。
- 23:34 何もしていないブログマーケットを退会しようと思ったが、退会機能がない。FAQ によると問い合せフォームを使えと。
- 24:36 Gmail の特定のラベルに対応する Mew 上の IMAP ディレクトリを howm-search-path に指定しておけばウハウハじゃんと思ったが検索できなかった。そうか charset が違うんだよな。惜しい。
@ 2010年03月16日
- 09:33 紫のハンドタオルを口に当てた人が電車から下りてきて目を丸くした。
- 09:36 もしかしてクーラーかかってる? この京浜東北線。
- 09:43 @junjun_ あ、やっぱりクーラーかかってますか。上着きていると暑いぐらいなので、クーラー入っていると確かに快適です。
- 09:44 RT @miyawaki: みんなでブログ更新しましょう方式って、だいたいうまくいかないよね。なんでだろう?
- 12:13 オーブントースター見にきた。 (@ ヨドバシカメラマルチメディアAkiba) http://4sq.com/77WGwe
- 12:24 オーブントースター第1候補はサンヨー SK-CW12 かな。3月19日まで3310円。
- 12:34 ビッグマックセット(昼食) 590円。 (@ マクドナルド秋葉原昭和通り店) http://4sq.com/cVnVl2
- 13:29 Evernote のノートブックの共有ってもしかして「閲覧のみ」だとデスクトップには(read only とかで)同期されないの?
- 16:18 C++ ソースコードを Uncrustify したら、1行コメントの次の行のコードまでコメントアウトされていて驚愕した。
- 16:41 やばし。スコッティ切れた。
- 21:03 I'm at 秋葉原駅 (秋葉原駅, 千代田区) w/ 6 others. http://4sq.com/68fhHr
- 21:33 ヤマダ電機 3480円だった。
- 23:59 Evernote への転送/ラベル設定用 Gmail フィルタ・コンタクト設定をした。
- 25:02 Evernote プレミアムにした。
- Evernote 使用開始 (2009-03-03)
- 今日のさえずり: 本社誰も応答しないと思ったら、やっぱり総出で雪かきしてたらしい (2011-01-17)
- 今日のさえずり - ファミリーマートにクリスマスケーキ4号・5号 (2008-12-24)
- Evernote プレミアムにした (2010-03-17)
- 今日のさえずり - ここ最近裏紙が激しく不足している (2010-03-19)
2010年10月5日 (火)
■ 今日のさえずり: これでセンサスくんともお別れかと思うと寂しい

@ 2010年10月05日
- 09:23 今日は電車も冷房入ってる。
- 10:38 C++ コードリーディングの日。まずは doxygen 通すか。
- 12:05 気がついたら昼休み。
- 12:23 ハッピーセットとチーズバーガー 470円。
- 13:17 今日は後ろの @as_tone がいないのでエアコン入ってる。今日は暑いし、そもそも出社したらすでに入ってたし。
- 13:37 RT @as_tone: 有明では場内放送で熱中症に気をつけてねって言ってます。RT @Naney: 今日は後ろの @as_tone がいないのでエアコン入ってる。今日は暑いし、そもそも出社したらすでに入ってたし。
- 14:43 レグザAppsコネクト 対応機種: [テレビ] CELLレグザ X2 / XE2シリーズ。おい CELL REGZA だけか。
- 14:53 @as_tone なんかスゲー楽しそう。
- 16:06 なんか1つだけ cpp ファイルの charset が UTF-8 になってる。そして Emacs で shift_jis にしようと思っても諦められてしまう。
- 16:09 予想通り cpp ファイルに中国語でコメントが入ってた。
- 16:12 @y_aki 8000行オーバーだったので目視で探すのに一苦労しました。
- 16:36 @y_aki なるほど iconv -f UTF-16 -t cp932 で iconv: illegal input sequence at position 331642 と出ました(ちなみに UTF-8 じゃなくて BOM あり UTF-16 リトルエンディアンでした)。
- 17:49 EASEUS Todo Backup が 1.1 になってる。去年死にかけた ThinkPad X31 の内蔵 HDD を外付け USB HDD にマルっとコピーするのに使った。 http://bit.ly/aK3eyY
- 18:06 ソースコードに「// 既存の手順の……を変更しる!」とか書いてある。2ちゃんねらー?
- 19:43 テレビ注文してる。
- 19:50 他店値段出して値引きしていただけたが「2台買う攻撃」は効かなかった。
- 22:10 エコポイントってオレンジカードと交換できるのか。
- 22:15 国勢調査入力するか。
- 22:34 国勢調査インターネット回答完了。直筆より気分的に楽だな、やっぱり。
- 22:35 国勢調査のサイト、URL 中の拡張子が do だったから Struts?
- 22:36 これでセンサスくんともお別れかと思うと寂しい。
- 22:39 センサス君って平成2年(1990年)国勢調査から使われているのか。
- 22:40 正式にはセンサス君じゃなくて、センサスくんか。
- 23:02 RT @kokuseichousain: 5年ごとに数十日しか姿を見せないので、まだ赤ちゃんの姿なのです。(^^♪ RT @Naney センサス君って平成2年(1990年)国勢調査から使われているのか。
- 23:03 ちなみにセンサスくん、前回は全然記憶にない。今回初登場だと思ってた。
- 23:05 統計局のサイトに「クイズ・ザ・国勢調査」ってページがある。国勢調査もクイズにしちゃえばいいのに。
- 23:17 ちなみに国勢調査は Google Chrome 7.0.536.2 dev on Debian GNU/Linux sid から普通に回答できた。
- 25:09 YouTube 用アカウントを作成。
- 25:15 「Gmail アカウントに YouTube アカウント追加」「YouTube メイン用に専用 Google アカウント作成」「Android の YouTube アプリに後者アカウントを設定しようとしたら、既に前者がバインドされてしまっていた」
- 今日のさえずり - Xperia を Debian GNU/Linux で初マウント (2010-04-07)
- 今日のさえずり - 紫のハンドタオルを口に当てた人が電車から下りてきた (2010-03-16)
- 納品前日なのに /var が壊れた! HDDからのブートで Debian 再インストール (2005-09-27)
- 今日のさえずり: 昔は例外処理を好んで使っていたが、最近はできるだけ使いたくない派 (2011-02-01)
- 今日のさえずり: テレビコーナーの阿鼻叫喚ぷりを思うとわくわくする (2010-11-28)
2010年12月20日 (月)
■ 今日のさえずり: 生まれて初めて10円券20枚を行使した

@ 2010年12月20日
- 10:12 DropboxPortable って開発停止なのか。今の 0.7.110 の状態で使い続けるか迷うところ。 #Dropbox
- 11:07 週次グループミーティングのアジェンダに、いつも「その他」があるのが気になる。
- 12:09 生まれて初めて10円券20枚を行使した。 (@ 向日葵 和泉町店・カレー食堂) http://4sq.com/gmh7J4
- 12:16 「またいっぱい貯めてくださいね(ハート)」※注「ささやかな気持ちDESスクラッチ」は350円弁当にはつきません。
- 12:51 RT @tuiteru: これは楽だ。 nDiki: Gmail 無しの Google アカウントで Google Contact Manager が使えるようになった http://t.co/rLec9Rt via @Naney
- 13:22 まだ食後だけど、もう我慢ならなくてお土産にもらった萩の月を食す。
- 13:26 Subversion / CVS の時は何か面倒な気がしてまずブランチしなかったんだけれど、Git だとホイホイだなあ。
- 15:13 なんか「後で感想を聞きにくるコーヒー」をいただいた。
- 15:31 普通かな。香りはあまりしない。味はあまり苦くないマイルド系。 RT @Naney: なんか「後で感想を聞きにくるコーヒー」をいただいた。
- 19:27 charset を間違えたコミットメッセージの修正で git rebase -i しようとしてはまった。コマンド-ログ行の並びが上ほど古いのを逆と勘違い(メッセージが化けてたこともあって)。何度も違う方を修正しようとしてしまった。
- 21:13 モバツイ Who's Who!? http://bit.ly/gwqsEY
- 21:25 モバツイ Who's Who!? ってマイリストに登録する時にメモがつけられるんだ。Twitter に欲しいと思っていたのでいいかも。20文字はちょっと少なめかな。 http://bit.ly/gwqsEY
- 21:28 モバツイ Who's Who!? でもまだちょっと不安定。プロフィールも出たり出なかったりする。 http://bit.ly/gwqsEY
- 22:10 うちの会社のサイト、郵便番号が書いてないな。
- 22:37 LinkedIn ってどんなものかなと思って登録してみた。 http://linkd.in/f9Iri0
- 22:39 LinkedIn にも Like が。
- 22:41 @Keiichi_SHIGA 言語別にプロフィール作れるんですね。でも名姓順になるからちょっとイケてない。
- 23:38 about.me もアカウント作ってみた。 http://bit.ly/ggLun1
- 今日のさえずり: 野菜生活100の100mlパックに隠しメッセージが!! (2010-12-21)
- Evernote 使用開始 (2009-03-03)
- 今日のさえずり: 安否については生きていればだいたい Twitter に投稿してます (2011-03-14)
- 今日のさえずり - 入り口に盛り塩? (2010-02-15)
- 今日のさえずり: ガチャピンが人を食べるという話が通じなかったので (2012-02-23)
■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザインProcess Time: 0.051027s / load averages: 0.81, 1.61, 1.89
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker
Base theme by Nana (for tDiary)



◇ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。
◇ 2GB 無料のオンラインストレージサービス Dropbox に次のリンク先から登録すると今なら 250MB プラス! → Dropbox