1. SIS Lab
  2. >
  3. Blog
  4. >
  5. UTF-8-MACとは何か?〜Jekyllのカテゴリ(タグ)ページで濁点を含むページが表示されない〜

UTF-8-MACとは何か?〜Jekyllのカテゴリ(タグ)ページで濁点を含むページが表示されない〜

更新日:2019.04.27 作成日:2014.11.29

Macでファイル作成し、その後、rsyncでさくらVPS(CentOS)に転送しているのだが、濁点を含むファイルだけが表示されない。

例えば、「リファクタリング」など。

https://www.meganii.com/blog/tag/リファクタリング/

原因

Mac OSXが作成した濁点、半濁点を含むファイル名を、CentOS側では異なる文字と認識しているのが原因みたい。

一般的に、UTF-8と表現される場合、NFC(Normalization Form C)でエンコードされたものを指す。

一方、Mac OSXでは、NFD(Normalization Form D)で符号化したUTF-8が用いられ、iconvではこれをUTF-8-MACと呼んでいる。

同じUTF-8でも、NFCとNFDという解釈の違いが存在するため、この現象が起きる。

例えば、「が」を例にすると、NFCだと、「が」と1文字で表現されるところが、NFDだと、分解されて「か」と「゜」で表現される。

UTF-8-MACとは何か?〜Jekyllのカテゴリ(タグ)ページで濁点を含むページが表示されない〜 https://farm9.staticflickr.com/8582/15904473402_eeaa56b76f_z.jpg

解決策

  • rsyncのバージョンを3.0に上げる
  • オプション--iconv=UTF-8-MAC,UTF-8をつけて実行

※ オプションiconvは、バージョン3.0からしか利用出来ない

これによって、UTF-8-MACUTF-8に変換して、サーバに転送する。

rsyncアップロード

Homebrewでインストール。

brew tap homebrew/dupes
brew install libiconv
brew install rsync

Rakefileの変更

 desc "deploy_to_sakura"
 task :deploy_to_sakura do
   sh "jekyll build"
-  sh 'rsync -e -avz --delete _site/ meganii@11.111.111.111:/home/meganii/jekyll
+  sh 'rsync --iconv=UTF-8-MAC,UTF-8 -e -avz --delete _site/ meganii@11.111.111.111/home/meganii/jekyll
 end

手書きメモ

参考

スポンサーリンク
Load more

Related contents

TECH

2014.12.13

Jekyllのタグとカテゴリを整理するために、一覧表示するWebアプリ(個人用)をつくった

TECH

2014.12.02

Jekyllに月別アーカイブを実装する

TECH

2014.12.01

Jekyllにタグクラウドを実装する

TECH

2014.11.25

Macのsedで改行コードを出力させる 〜改行コードの違い再確認〜

TECH

2014.10.29

JekyllでPygmentsを使ってのシンタックスハイライト

TECH

2014.10.21

Jekyllでページ分割する -pagenation-

TECH

2014.09.03

YouTube埋め込みタグをレスポンシブ化する

TECH

2014.06.24

jekyll front matter