nDiki : UTF-8

UTF-8

UCS transformation formats の一つ。文字符号化方式(CES)(および Unicode における文字符号化形式(CEF))や文字エンコーディングを差す。

関連情報

2012年2月7日 (火)

Unison で同期しているディレクトリの一部を Dropbox フォルダへ移動してどこでも編集可能に

さくらのレンタルサーバ上にあるデータはローカルの Linux BOX と Unison で同期している。 この nDiki の記事も Emacsテキストファイルで作成した後、Unison で同期して公開している。

 [さくらのレンタルサーバ]
 /home/naney 
     |
   <Unison> 同期
     |
 [ローカル PC]
 /home/naney/site/site_name/sync

ただこれだとローカル PC から離れている時の記事の下書きとか面倒くさい。ということで Dropbox 上に一部を置くことにした。同期している全てのデータを Dropbox 上に置くのはナンセンスなので、一部のディレクトリのみ。

Dropbox フォルダ側は単一のディレクトリツリーである必要があるので、Unison で同期しているディレクトリのツリーの一部を Dropbox フォルダ上へ移動し、シンボリックリンクに置き換え。Unison の設定ファイルに follow = path share/some_dir を追加してそのディレクトリはシンボリックリンクを辿ってその先の中身で同期するようにした。

 [さくらのレンタルサーバ]
 /home/naney 
     |
   <Unison> 同期
     |
 [ローカル PC]
 /home/naney/site/site_name/sync
     /home/naney/site/site_name/sync/share/some_dir
         |
       <symbolic link>
         |
     /home/naney/var/Dropbox/site/_name/sync/some_dir
 /home/naney/var/Dropbox/site/_name/sync
    |
 [Dropbox]

これで Dropbox を入れた他の PC や Android 端末から記事の作成・編集ができるようになった。

ちなみに Google Chrome に SourceKit をインストールすると、Web ブラウザ上から直接 Dropbox 上にテキストファイルを作成したり既存のテキストファイルを編集したりできて便利。 テキストファイルUTF-8LF になるのでいい感じ。

[ 2月7日全て ]

2012年3月6日 (火)

今日のさえずり: 商魂と遠慮の入り混じった防災グッズ売り場

rimage:/nDiki/Flickr/6811966578.jpg

2012年03月06日

[ 3月6日全て ]

2012年6月7日 (木)

.bashrc にある Git 関連設定

自分が Bash で設定している Git 関連のもの。

ページャー

lv があれば lv を使う。UTF-8 に変換、ANSI エスケープシーケンスを有効に。

 # pager
 if command -v lv > /dev/null; then
   export GIT_PAGER='lv -Ou8 -c'
 fi

プロンプト

bash-completion が有効なら、ブランチ名をプロンプトに表示するように設定。GIT_PS1_SHOWDIRTYSTATE を設定して unstaged な変更があれば *、staged な変更があれば + をブランチ名の後ろに表示するようにしてる。

 # prompt string
 PS1='\[\033[0;37m\][\[\033[0;32m\]\t \[\033[1;36m\]\u\[\033[0;37m\]@\h \[\033[0;32m\]\w\[\033[0;37m\]]\n$ '
 
 if hash __git_ps1 2> /dev/null ; then
   export GIT_PS1_SHOWDIRTYSTATE=1
   PS1='\[\033[0;37m\][\[\033[0;32m\]\t \[\033[1;36m\]\u\[\033[0;37m\]@\h \[\033[0;32m\]\w\[\033[0;37m\]\[\033[01;33m\]$(__git_ps1 " | %s")\[\033[00m\]]\n$ '
 fi
[ 6月7日全て ]

2013年3月4日 (月)

今日のさえずり: 60秒キャンペーン終わったので5分ほどかかった

2013年03月04日

  • 08:32 RT @corvussolis: @unk @Naney こんにちは、CorvusSKKの作者です。アスキーモードでの入力での現象だと推察しますが、次のリリース(ver.0.9.6?)で修正出来ると思いますのでしばらくお待ち下さい。
  • 08:33 @corvussolis ありがとうございます。 CorvusSKK まだ使わせていただいたこと無いのですが、新しいバージョンが出たら試してみます!
  • 10:58 欲しいのど飴がオフィスグリコに無い!
  • 12:23 今日会った方に Sublime Text 2 薦められた。サイト見てみるとスゲー強力そうで気になる。 http://t.co/eAOKLJhf9t
  • 14:27 60秒キャンペーン終わったので5分ほどかかった。 (@ マクドナルド 南青山店) http://t.co/ICQdyNvVFd
  • 15:08 gogoshigoto (@ 株式会社ミクシィ (mixi, Inc.)) http://t.co/WdPqb4vuch
  • 16:12 “404 Blog Not Found:perl - 最速のUTF-8処理法” http://t.co/ccY175Yhwz
  • 17:30 映画ドラえもん のび太のひみつ道具博物館がいいらしいので気になる。道具いっぱい出そうだもんなぁ。
  • 21:49 サーバに Net::Twitter::Lite 入れてるところ。
  • 23:40 Storable するところまで Net::Twitter::Lite 使うように書き換えた。
[ 3月4日全て ]

2013年7月17日 (水)

今日のさえずり: あと800円多かったら、267,600円目減りするところだったとか厳しい世界

rimage:/nDiki/2013/07/17/2013-07-17-131159-nDiki-1200x900.jpg

2013年07月17日

[ 7月17日全て ]

2014年6月27日 (金)

今日のさえずり: JS の雑誌買ってみた

2014年06月27日

rimage:/nDiki/Flickr/14516237771.jpg

[ 6月27日全て ]

2014年7月11日 (金)

異なる文字エンコーディングのファイルをまとめて検索できる pt に乗り換え

昨年話題になった ag (The Silver Searcher) は、UTF-8 以外の日本語テキストファイルの扱いに難があったので ack に戻していたのだけれど、 pt (The Platinum Searcher) が良いというので ack から乗り換えてみた。

UTF-8 やら 日本語 EUC (EUC-JP)やらシフト JIS(Shift_JIS)やら、様々な文字エンコーディングのファイルのあるディレクトリ以下をまとめて検索できるのいいね。

Emacs の設定に以下を追加しておいた。

 (let ((pt (executable-find "pt")))
   (if pt (setq grep-find-command (concat pt " --nocolor --nogroup "))))
[ 7月11日全て ]

2017年12月22日 (金)

Alfred の workflow の引数の文字列は濁点・半濁点が分解されているので iconv で合成することにした

最近 Remember The Milk でタスクを検索した際に検索結果に出ないタスクがあっておかしいなと思っていたのですが、ようやく原因がわかりました。 Alfred から workflow でrumember を使ってタスク登録していたものの一部が検索できないようなので調べたところ、濁点・半濁点が分解された UTF-8 文字列で Remember The Milk に送られていたのです。 Remember The MilkWeb 版で入力や検索では濁点・半濁点が分解されていない文字が使われるため検索でマッチしていないのでした。

合成されている Unicode 正規化形式C (NFC) で統一したいのですが Alfred では選択する方法がありません。Keyword to Script テンプレートで作った Alfred workflow だと Run Script (/bin/bash) のひな型が

 query="{query}"

となるのですが、ここをいったん

 query=`echo "{query}" | iconv -f UTF-8-MAC -t UTF-8`

のようにして変換することにしました。 Remember The Milk への登録以外にもテキストファイルに追記する workflow や Slack に投稿する workflow も同様にして NFC で処理するように変更です。

すでに Remember The Milk に投稿したものは仕方ないので手動で検索してちまちま修正。テキストファイルに書いたものもわかる範囲で検索して書き換えました。ふう。Google ChromeUlysses はきちんと合成して表示してくれるので今まで気がつきませんでしたよ。

補足

ちなみに uconv -f utf-8 -t utf-8 -x nfc だと合成できていない文字があってうまくいきませんでした。

今日のさえずり: 冬至なのでキーマカレー with いとこ煮

2017年12月22日

  • 08:39 REGZA につないでいる外付け HDD が認識しないなと思ったら HDD のランプが光っていない。電源抜き差ししたら復活した。録画した番組が残っていて良かった。昨日のアイカツスターズ!は録画失敗してたけど。
  • 13:44 木村俊也 @kimuras 氏! / “メルカリ、社会実装を目的とした研究開発組織 「mercari R4D(アールフォーディー)」を設立” http://bit.ly/2kEjb3t
  • 21:29 冬至なのでキーマカレー with いとこ煮。
  • 21:50 Xperia Z5 が暴走して強制終了を初めてやることになった。挿入口カバーの中の黄色いボタンを3秒押し覚えた。
  • 22:14 今度は Mac が落ちた。
  • 24:13 iconv -f UTF-8-MAC -t UTF-8 覚えた。
[ 12月22日全て ]

2021年9月17日 (金)

今日のさえずり: 久しぶりに Lemon 聴いてる。ウェッ。

[ 9月17日全て ]

2022年3月26日 (土)

convmv でファイル名をまとめて NFC Unicode 正規化する

convmv を使うとファイル名をまとめて NFC/NFD Unicode 正規化できる。

Perl スクリプトで 内部的には Unicode::Normalize::NFC と Unicode::Normalize::NFD を使って正規化しているので UTF-8-MAC にできるわけではないようだ。

インストール

 $ brew install convmv

正規化する

カレントディレクトリ以下にあるファイルのファイル名を再帰的にチェックし NFC Unicode 正規化されたファイル名にリネームする。

dry-run

 $ convmv -f utf8 -t utf8 --nfc -r .

で変換されるファイル名を確認。問題なければ

 $ convmv -f utf8 -t utf8 --nfc -r . --notest

で実際に実行する。 NFD Unicode 正規化した場合は --nfc の代わりに --nfd を指定する。

[ 3月26日全て ]

About

Naney Naneymx

Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。

※本サイトの内容は個人的見解であり所属組織とは関係ありません。

Process Time: 0.028425s / load averages: 0.38, 0.50, 0.44