タグ

unicodeに関するteahutのブックマーク (5)

  • perl - no encoding; # whenever possible : 404 Blog Not Found

    2007年06月22日19:15 カテゴリiTech perl - no encoding; # whenever possible うーん、これ、かなり5.8 portersの想定の範囲外の使われ方だったのですね。 Time to ditch encoding.pm: blog.bulknews.net Perl でソースコードにマルチバイトなリテラルを埋め込む場合には encoding プラグマを使うのが定石でしたが、 元々、encodingプラグマは、JPerlなど、L10Nなperlを発展的に解消させる、あるいは成仏させるためのプラグマ。5.7当初は$^ENCODING直接操作させないためのものでしたが、これを工夫すれば、L10N perlの成仏にも使えるという指摘を私がして、実験的にcharsetというpragma moduleを書いたのですが、5.8のpumpkingであるjh

    perl - no encoding; # whenever possible : 404 Blog Not Found
    teahut
    teahut 2007/06/23
    >本来あるべき姿は、UTF-8以外の文字列リテラルは極力ソース中には置かず... 5.8におけるベストプラクティス、すなわちencodingフリーなコードを書くかどちらかにした方がよいでしょう
  • Time to ditch encoding.pm: blog.bulknews.net

    Time to ditch encoding.pm Perl でソースコードにマルチバイトなリテラルを埋め込む場合には encoding プラグマを使うのが定石でしたが、 use encoding 'utf-8'; my $name = "宮川達彦"; こうすると STDIO まで utf-8 でエンコード・デコードされるという問題があり、また encoding.pm はファイルスコープで動くのでレキシカルに一部分だけバイト列として扱いたい(という需要があるかどうかは微妙ですが)というときにうまくいかず、イマイチ encoding プラグマを全面採用できず、decode() を使ったり \x{XXXX} で書いたりってことが結構ありました。 が、Juerd と RGARCIA が encoding::source と encoding::stdio (もとは encoding::split

    teahut
    teahut 2007/06/21
    >encoding::source と encoding::stdio をリリースしてくれたので、この2つを切り分けて利用することができるようになりました。(ソースは utf-8 で書くけどファイルの読み込みはいままでどおり明示的に binmode 指定する etc.)
  • hide-k.net#blog: Catalystでマルチバイトを取り扱うときのまとめ

    #前に社内wikiに書いておいたのを公開してみるテスト。 Catalystでマルチバイトを扱う機会があるのは主に ユーザーがフォームで入力する値 ($c->req->param()) データベースからの入出力 (DBIx::Class) それ以外の文字列の評価 View::TTによる出力の生成 FillInFormによるフォームの埋め込み HTTPレスポンス です。 ここでは以下の条件でまとめてみました。 文字コードはUTF8に統一 データベースにはmysqlを使用 下準備 テンプレート、perlのコードは全てUTF8で書きます。 mysqlの文字コードの指定は/etc/my.cnfに [mysqld] default-character-set = utf8 skip-character-set-client-handshake [mysql] default-character-set

    teahut
    teahut 2007/04/06
    >すでにあるMyApp::View::TTを use base 'Catalyst::View::TT::ForceUTF8';
  • CLON - 2006/11/21 - DBIx::Class vs mysql vs UTF-8

    DBIx::Class vs mysql vs UTF-8 それ、0.7以降(多分)ならconnectionやconnect上書きしなくてもこうかけるよ。 __PACKAGE__->connection( 'dbi:mysql:foo', 'root', { on_connect_do => ['SET NAMES utf8'], }, );

    teahut
    teahut 2007/04/06
    >on_connect_do => ['SET NAMES utf8'],
  • javascript - encodeURIUnicode()と%uXXXX問題 : 404 Blog Not Found

    2007年03月10日17:30 カテゴリLightweight Languages javascript - encodeURIUnicode()と%uXXXX問題 これを見て、(de|en)codeURIUnicodeがあればいいと思ったので作ってみた sawatの日記 - Unicodeエスケープ なので、前述のような単に非ASCII文字をエスケープしたいだけのようなケースではUnicodeエスケープを使った方がよいです。Javaのpropertiesとかnative2asciiとかのやつです。 Decoded: Dan 弾 𪚲 Encoded: Dan%20%u5F3E%20%uD869%uDEB2 要は、U+00ffまではencodeURIComponent互換、それ以上はescape()互換というもの。こうしてencodeされたものは、CGI.pmとかでもほぼそのまま使える。

    javascript - encodeURIUnicode()と%uXXXX問題 : 404 Blog Not Found
    teahut
    teahut 2007/03/12
    >U+00ffまではencodeURIComponent互換、それ以上はescape()互換というもの。こうしてencodeされたものは、CGI.pmとかでもほぼそのまま使える
  • 1