タグ

encodingとutf-8に関するftnkのブックマーク (4)

  • PHP、デフォルトエンコーディングをUTF-8へ (default_charset) | エンタープライズ | マイコミジャーナル

    PHP: Hypertext Preprocessor PHP開発チームはPHP6におけるUTF-16化を断念。開発ブランチPHP5.3へロールバックし、これまでに開発した機能をロールバックしたブランチへバックポートするという方針へ変更した。これはPHP6で取り組まれたUTF-16対応実装が予想以上に困難だったためと、UTF-16に移行することで得られる利益よりも不利益が多いことが判明したためだ。PHPにおける文字集合とエンコーディング回りの議論は振り出しに戻った。 しかし、変化は確実に訪れている。Mind the encodings!において「default_charset」がiso-8859-1からUTF-8へ変更されたことが紹介されている。ブラウザはサーバからのデータにエンコーディングの指定がなかった場合、これまではISO-8859-1をデフォルトエンコーディングとしていた。逆にP

  • Emacs22 UTF-8 における文脈依存な文字幅の問題について

    UTF-8 には文字の幅が文脈依存 (ambiguous) となる文字があって、 矢印や記号 (■▲)、罫線などの文字は状況に応じて文字幅が変化します。 下の 2 つの画像は Emacs で同じファイルの内容を narrow character として判定させた場合と、 wide character として判定させた場合のスクリーンショットです。 narrow wide 現状、 Emacs22 はこれらの文字をデフォルトで narrow character として判定します (※のように化けてしまう文字もあります)。 文字によって幅を変えるプロポーショナルフォントを前提としたテキストであれば あまり問題にはならないと思いますが、等幅フォントに向けて書いたテキストでは 表示がガタガタになってしまい問題になります。 これらの文字を wide character として判別させるには以下の設定を

  • UTF-8/UTF-16/UTF-32 を処理系の内部エンコーディングに使う場合のそれぞれのメリット - higepon blog

    ごく最近調べて実装したり、人に聞いたメモなので間違っていたらぜひ御指摘を。 UTF-8 ascii が 1byte で ascii に一致する。 これが大きい。 処理系が実装されている C のコードで、絶対に ascii だと分かっている変数にたいして、標準C関数を使いまくれるのがうれしい。 文字列リテラルも可搬性を維持したまま使える。 strcmp("hige-func", hoge) これが UTF-32 だったら、たとえ全てが ascii と分かっていても専用の関数(ブリッジ?)を作らないと行けない。 fopen とか。 あとはasciiばかりの場合には効率が良いとか。 UTF-16 2byteに収まる。 サロゲートペアの部分なんか気にしないぜと男気を見せれば、完全2byteの世界になること。 UTF-32 完全 4byte 固定なので処理がとても楽。*1 L"abあ" は、何文字?

    UTF-8/UTF-16/UTF-32 を処理系の内部エンコーディングに使う場合のそれぞれのメリット - higepon blog
  • [を] UTF-8 で半角カナを判定

    UTF-8 で半角カナを判定 2006-11-09-3 [Programming] PerlUTF-8 で半角カナを判定するには、 顔文字みたいな正規表現を使うと良いみたい。 なお、下記では全角になっていますが、「。」「゜」は半角です。 print if /[。-゜]/; 以下、確認スクリプト utf8hankana-test.pl。 begin 755 utf8hankana-test.pl.gz M'XL("+7C4D4``W5T9CAH86YK86YA+71E<W0N<&P`1<_)2L-@$,#Q^SS%9[Q8 ML>0J1H1"]>K!>'()M48-U"A)BP<1M.[5NN];L>[[OFM]F"IXZROX5P\._&!F MF!F8XB(]X7MZB^/JW;87DV+UF4Y]'<SEDR?YP51)O5D3+`](PK>5'_><:-SX MS7L

  • 1