タグ

utf8に関するpoppenのブックマーク (22)

  • [Perl] use utf8 の有無による文字の扱い - Open MagicVox.net

    [Perl] use utf8 の有無による文字の扱い Posted by ぴろり Posted at 2010/11/06 12:53 Trackbacks 関連記事 (0) Post Comment コメントできます Category MovableType 5 から、内部の文字コードが utf-8 になり、外部とデータの入出力を行う場合には、文字化けに注意する必要があります。これは MovableType に限ったことではないですが、Perl で文字を扱う場合の utf-8 の扱いについて少し実験してみました。そのまとめ。 | | | | 結果 ソースコード 結果 use utf8 なし あ¥x{3042}¥xe3¥x81¥x82 print ああ (Wide character in print 警告)あ Dumper あ¥x{3042}あ length 313 Encode::i

  • UnicodeとUTF-8の違いは? - 自分的まとめ - Humanity

    UnicodeとUTF-8の違いは? - Humanityはあんなに反響があるとは思わなかった。 ブコメにコピペじゃなくてまとめを書いてくれれば良い資料になるのにと書いてあったので今度は自分の知識をまとめてみる。 と言っても自分もあのスレを見るまでUnicodeとUTF-8を混同してた一人なのでほとんどあのスレからの知識ですが...orz なので簡単なまとめ。引用を多分に含みます。間違ってたらつっこんでいただけるとうれしいです。 調べる際に弾さんのエントリがかなり参考になったので(今頃意味が分かってきた)関連リンクとして度々載せさせていただきます。 参考リンクじゃない理由は解説しているエントリだけじゃなくて既存のエンコーディングを拡張するといった高度なエントリも含まれているため。 UnicodeとUTF-8 まず一番重要なことは Unicodeは「符号化文字集合(Coded Charact

    UnicodeとUTF-8の違いは? - 自分的まとめ - Humanity
  • s.decode('utf8') よりも unicode(s, 'utf-8') の方が速い - methaneのブログ

    http://groups.google.com/group/comp.lang.python/browse_thread/thread/314a3043ea63319f/ unicode vs s.decode unicodeはLOAD_GLOBALで、s.decodeはLOAD_ATTRでスタックに積まれる。で、LOAD_GLOBALの方が速い。 さらに言えば、何度もデコードを行うのであれば u = unicode のようにローカル変数にするとさらに速くなる。LOAD_ATTRやLOAD_GLOBALは最適化で消すことが出来ないので、明示的にローカル変数に束縛することはCPythonに限らず有効な手法だ。 'utf8' vs 'utf-8' 単なる1タイプの問題だけど、内部的には 'utf-8' が利用されており、 'utf8' を使うと 'utf-8' だと判断するのに1クッション必

    s.decode('utf8') よりも unicode(s, 'utf-8') の方が速い - methaneのブログ
  • Perlで日本語(ISO-2022-JP)メールを送信(まとめ) - kopug memo

    UTF-8で作成されたメール文をMIME::Lite及びEncodeを使用してメールを送信をする。 そこで問題となってくるのが下記の3点。 1.チルダ(全角)等の文字化け("〜 ‖ − ¢ £ ¬ ") 2.機種依存文字が含まれていた場合の対応 3.MIME::Lite で smtp送信する場合、Return-Pathが有効にならない 1.チルダ(全角)等の文字化け("〜 ‖ − ¢ £ ¬ ")に関する解決方法: これは有名らしいのですが、Encode::JPが採用している UnicodeConsortium の写像表 に問題があるとかで、 一部の文字が化けます。チルダとか。 しようがないので こんな風に対応しておきました。 my %map = ( "\x{ff5e}" => "\x{301c}", # 〜 (1-33, WAVE DASH) "\x{2225}" => "\x{201

    Perlで日本語(ISO-2022-JP)メールを送信(まとめ) - kopug memo
  • #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 : 404 Blog Not Found

    2009年09月13日13:00 カテゴリLightweight Languages #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 駄目です。 [を] Perl の utf8 まわりのおまじない 最近良く使うおまじない、というかイディオム。 utf8::decode($text) unless utf8::is_utf8($text); こういう場合は、Encode::decode_utf8()でないと。 以下をごらんください。 #!/usr/bin/perl use strict; use warnings; use Encode; use Devel::Peek; for my $bytes ( "\x2F", "\xC0\xAF", "\xE0\x80\xAF", "\xF0\x80\x80\xAF" ) { my $u

    #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 : 404 Blog Not Found
  • utf8 ファイルを open したけど文字化けするケース

    utf8 ファイルを open したけど文字化けするケース 2008-06-07-2 [Programming] open の引数は「FILEHANDLE」「MODE」「ファイル名など」、に分けて渡すのがセキュリティ上良いらしいのだが、面倒なこともある。 例えば、perl 5.8.5 と 5.8.6 で試したんだけど、下記のスクリプトを実行すると「A」だけ文字化けする。 みんなどうやってるんだろう。 いちいち "<:utf8" とかやりたくないし。 たぶん私が何か使い方を間違っているんだと思う。 「use open ':utf8'」の意味を勘違いしているのかも。 #!/usr/bin/perl use strict; use warnings; use Encode; use utf8; use open ':utf8'; binmode STDIN, ":utf8"; binmode S

    utf8 ファイルを open したけど文字化けするケース
  • perl - use CGI; use Encode; # 非英語Webプログラミング3原則 : 404 Blog Not Found

    2009年06月23日15:30 カテゴリLightweight Languages perl - use CGI; use Encode; # 非英語Webプログラミング3原則 これは、実はPerlに限らず未だに事実だったりするのですが.... Perl でフォームデータから UTF-8語文字をとりだす方法 (プログラミングの小石・大石) UTF-8 のフォームによっておくられたデータのなかから日語文字をとりだすことは,日Perl CGI プログラマならたいてい必要になることである. ところが,その方法は意外に確立されていないようにみえる. しかし、元発言の方法は先祖帰りすぎるので。 Perlプログラマー以外にも、Webプログラマーであれば有用なentryです。 PerlでWebプログラミングする場合の三原則 QueryはCGIモジュールで処理する 文字コードはEncode

    perl - use CGI; use Encode; # 非英語Webプログラミング3原則 : 404 Blog Not Found
  • perl - use utf8; #って何だ? : 404 Blog Not Found

    2009年06月15日07:00 カテゴリLightweight Languages perl - use utf8; #って何だ? id:otsuneに建設予定フラグがたてられていたので。 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - subtech Perl の utf8 関係が未だ全く理解できない。わからないことがわからないので整理 use utf8はいつフラグをたてるか use utf8 しててもフラグたたないことがある…… これは、以下の実例を見ていただくのが一番よいだろう。 #!/usr/bin/perl use strict; use warnings; use utf8 (); sub check_flag{ my $str = shift; print qq("$str" ), utf8::is_utf8($str) ? 'is' : 'IS NOT',

    perl - use utf8; #って何だ? : 404 Blog Not Found
  • WWW::Mixi::Scraperで"Wide character in subroutine entry at 〜"と怒られた問題の応急処置 - sakolog

    plaggerplaggerにハマる(Wide character in subroutine entryと言われる) - sakolog 前回の続き。 plaggerでmixiをスクレイピングしようとした際に、"Wide character in subroutine entry at 〜"と怒られてしまう問題の応急処置方法を見付けたので、ここに書いてます。正直、Perlはド素人なので原因やら因果関係はよくわかりません。 Encodeモジュールがエラーを吐いているので文字コードに失敗しているのかなぁと単純に考えていたのですけれど、PerlにはUTF8フラグなんていうものがあるんですね。 とりあえずエラーメッセージでググって参考にしたのが下記のサイトです。Nix::WebLab: 2005年10月 Archives質問: >Wide character in subroutine entr

  • コマンドプロンプトでUTF-8の文字を表示する - Perl入門ゼミ

    PerlWindows この方法では文字が正しく描画できないようです。(maeyanさんの記事)。 わたしの環境でも駄目でした。 手順 コマンドプロンプトのフォントの変更 コマンドプロンプトの文字コードの変更 ショートカットから文字コードの自動設定を行う。 Windowsのバージョン Windows XP Home Edition Version 2002 Service Pack 2 で行いました。 1. コマンドプロンプトのフォントの変更 コマンドプロンプトを立ち上げる→タイトルバー右クリック →プロパティ→フォントから"MS ゴシック"を選択する。 フォントを"MS ゴシック"に変更します。MS ゴシックは、Unicodeに対応するすべての文字を正しく表示できるわけではないですが、一応ユニコードに対応しています。日語や飾り文字を含む文字を表示することができます。 2. コマン

    コマンドプロンプトでUTF-8の文字を表示する - Perl入門ゼミ
  • UTF-8 の全角ハイフンが Perl の正規表現にマッチしなくて悩んだ

    UTF-8 の全角ハイフンが Perl の正規表現にマッチしなくて悩んだ 2008-05-01-3 [Programming] UTF-8 の全角ハイフン(便宜上こう呼びます)を Perl の正規表現でマッチさせようとしてはまりました。 全角ハイフンってのは「−」です。 やろうとしたことは、テキストファイル(UTF-8)を読み込んで、 その中の全角ハイフンを半角ハイフンに変換するという作業。 Perl スクリプトはこんな感じ。 use utf8; use open ':utf8'; binmode STDIN, ":utf8"; binmode STDOUT, ":utf8"; while (<>) { s/\p{Hyphen}/-/g; # または s/−/-/g; print; } 入力「12−234−5」に対して、 出力「12-234-5」を想定。 しかし一部の全角ハイフンだけが半角

    UTF-8 の全角ハイフンが Perl の正規表現にマッチしなくて悩んだ
  • Unicode - 似た文字同士にご用心 : 404 Blog Not Found

    2008年05月02日04:00 カテゴリLightweight Languages Unicode - 似た文字同士にご用心 後者はハイフンでなくてマイナス記号でんがな。 [を] UTF-8 の全角ハイフンが Perl の正規表現にマッチしなくて悩んだ で、元のテキストファイルの全角ハイフンを「od -t x1」 で見てみると「ef bc 8d」と「e2 88 92」の2種類が混じっていました。 前者は「\p{Hyphen}」にマッチするのですが後者はダメ。 まあ原因は分かったので、前処理でバイナリ置換して解決しました。 で、紛らわしそうなのを名前のHYPHENとMINUS SIGNでgrepするとこんな感じになる。 egrep '(HYPHEN|MINUS SIGN)' /usr/local/lib/perl5/5.10.0/unicore/Name.pl -002DHYPHEN-MI

    Unicode - 似た文字同士にご用心 : 404 Blog Not Found
  • Perl で utf8 化けしたときにどうしたらいいか - TokuLog 改メ tokuhirom’s blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • UTF8 フラグあれこれ - daily dayflower

    UTF8 フラグについてわかってるつもりだったんですが,utf8::is_utf8 considered harmful - Bulknews::Subtech - subtech を読んで混乱したので,自分なりにまとめてみました。間違いがありましたらご指摘よろしく。 まとめ スカラー変数の内部表象の状態を示すものとして UTF8 フラグというものがある スカラー変数は(リファレンス等は別として)下記のものを格納できる (A) 文字列(内部表象: UTF-8) (B) 文字列(内部表象: ISO-8859-1) (C) バイナリ列 純粋なバイナリストリーム(画像ファイル等)かもしれないし, UTF-8 octet stream かもしれないし, CP932 octet stream かもしれないし,etc, etc ... Perl は(後方互換性確保などの理由から)ISO-8859-1

    UTF8 フラグあれこれ - daily dayflower
  • Unicode Support on FreeBSD

    Document Moved This document has moved here; please update your bookmarks: http://opal.com/jr/freebsd/unicode/

  • いやなブログ: UTF-8 への移行計画

    UTF-8 への移行計画 以前からやろうやろうと思っていた、 UTF-8 への移行計画を実施し ました。これまで手元のテキストファイルの類はすべて EUC-JP で 保存していたのですが、これを UTF-8 にしようという計画です。 Emacs の設定 まずは Emacs の設定です。これまで euc-jp となっていた部分を utf-8 に置き換えました。 (set-language-environment "Japanese") (set-terminal-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8) (set-buffer-file-coding-system 'utf-8) (setq default-buffer-file-coding-system 'utf-8) 新規に作成したファイルの文字コードを UTF

    poppen
    poppen 2006/10/05
  • FreeBSD 4.11-R で ja_JP.UTF-8 を使う

    FreeBSD 4.11-R で ja_JP.UTF-8 を使う ロケールデータベース ports/misc/utf8locale FreeBSD 5.x には各言語の UTF-8 ロケールが用意されていますが、 4.11-R の場合は、ports から別途インストールする必要があります。 /usr/pors/misc/utf8locale をインストールします。 パッチ ports のロケールデータベースをインストールしてテストしてみたところ、 scanf (sscanf) が誤動作しました。scanf 側のバグのような気もするのです が、SPACE に関するエントリをコメントアウトすればとりあえず実用の範囲で 動くようになるので、以下のようなパッチをあててからインストールしています。 /usr/ports/misc/utf8locale/files/patch-local-space

  • シフトJIS / EUC-JPとUnicodeとの妥当な変換表: Netsphere Laboratories

    2004.10.17 新規作成。2004.12.19 加筆。2005.04.02加筆。 最近、コンピュータで扱う文字列の文字コードがUnicodeでなければならない場面が増えてきた。UnicodeとシフトJIS、EUC-JPを変換する機会が多い。この変換は変換表で行うが、変換表が実際的なものでなければ、文字化けが発生することになる。 おかしな変換表は、これまでは、特にLinuxなどの上で動作するオープンソースソフトウェアで多く見られた。おそらく規格原理主義者が多かったためだろう。そもそも、規格どおりに変換表を作ると、実用的な変換表にはならない。しかし、最近ではまともな変換表を実装しているものも増えてきて、うまく選ぶだけでいいようになってきている。 変換表の違いをまとめたページはよく見かけるが、実際にどのような条件を満たして変換するものを選べばいいか不明なので、まとめてみた。 変換表に求めら

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Perl5.8 の UNICODE 対応

    perl は 5.8 から Unicode(utf-8) がサポートされました.5.6 でも Unicode に対応はしていましたが,ぜんぜん使い物にならず,ようやく 5.8 でまともに使えるようになったということです.ただせっかく使えるにもかか わらず perldoc などを見てもイマイチ使い方がわからないので,独自にまと めてみたのがこのページです. 誤った書き方や勘違いをしてい ることもあるので,形式的ですがこのページの内容は無保証です. 内容 文字コード変換 perlIO jperlからの移行 UTF-8フラグ 文字コード自動判別 Unicode Standard Unicode 正規化 その他 参考資料 文字コード変換 とりあえず perl5.8 で新しく組み込まれた機能を見るために,euc-jp から shift_jis への変換スクリプトをいくつか載せます. openを利用し