タグ

utf8とperlに関するkhashiのブックマーク (8)

  • perlの波ダッシュの文字コード変換のまとめ - (゚∀゚)o彡 sasata299's blog

    2009年02月22日22:31 Perl perlの波ダッシュの文字コード変換のまとめ perlの文字コード周りはなかなかカオスです。外部エンコードとか、perl内部での文字コードとか、UTF8フラグとか。UTF8フラグ?なにそれ?な人は、こことかここを見てみると良いかも。(・∀・) 基的には外部から入ってきた時点でdecodeして、出力時にencodeしてやれば全て解決するんですが、「〜(波ダッシュ)」と「−(全角マイナス)」だけは特別です。注意が必要なのはこの2パターン。 ① utf8⇔shift_jis ② utf8⇔euc-jp ①については以前、perl utf8→sjisで文字化けという記事で紹介しましたが、encode時に、'sjis'では無くて、'cp932'を指定すればOK。※「〜」とか「−」はsjisには含まれていない文字なのが原因。 今回紹介したいのは②の場合です

  • どんぞこ日誌(2008-01-07)

    * [Perl][メモ] JSON::XSのutf8とかasciiについて 2010-04-21追記: 記事は内容が古く、わかりにくいものになっています。モジュール使ってみたけど文字化けして困る〜という方はこのページではなくこちらを参照ください。 kawa.netの川崎さんがPerl の JSON モジュールで日語を含む文字列を扱う際の tips。 でJSON 2.x(つまりJSON::XS)のutf8関連について取り上げられていらっしゃいました。この新API、utf8()については、一応XS、PPともにドキュメントにどのような機能なのか書かれているのですが、それでもやはりわかりづらいところがあるかもしれませんので、簡単な補足説明をしたいと思います。最初に箇条書きにしますと、 1.x系の$JSON::UTF8とは違って、PerlのUTF8フラグとは直接関係ない入出力JSONデータがUT

  • ウェブリブログ:サービスは終了しました。

    「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧

    ウェブリブログ:サービスは終了しました。
  • ウェブリブログ:サービスは終了しました。

    「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧

    ウェブリブログ:サービスは終了しました。
  • DBD::SQLiteの入出力をちゃんと考えてみる - 日曜プログラマのそゞろ事

    普段から「binmode STDOUT => ":encoding(cp932)";」をよく使うので、なんとかならないかやってみました。 やってみればちゃんと出来るものです。 基的には、Perlの内部形式の考え方をおさらいする形になった。 プログラムで扱う前にdecode、出力するときはencodeする。 それは、標準入出力だろうが、データベースだろうが、同じ扱い、ということ。 SQLiteはutf8の入出力が(少なくともver3.6.13では)可能のようだ。 まずは出力の時、データベースに渡すステートメントは「Encode::encode_utf8」してから出力する。 そして入力の時、つまり、データベースからデータを取る時は、とって来た後に「Encode::decode_utf8」する。 イメージは下の図。 今回は出力だけなのでSTDINは使っていないが、binmode S

  • @ARGVにUTF8フラグをたてる - Practice of Programming

    @ARGVには、普通UTF8フラグはつきません。どうやってフラグをつけるのか調べてみました。 その後、ブックマークコメントを見て、モジュール探したら見つけましたんで、追加しました。 -C か環境変数でやる こちらで見つけました. 起動オプション-Cか環境変数PERL_UNICODEにAを与えてやります。 perl -CA -e 'print utf8::is_utf8($ARGV[0]);' あああ PERL_UNICODE=A perl -e 'print utf8::is_utf8($ARGV[0]);' あああ -CやPERL_UNICODEが取れる値は、perldoc perlrun にあります。以下、抜粋。 -C [number/list] The "-C" flag controls some Unicode of the Perl Unicode features. As o

    @ARGVにUTF8フラグをたてる - Practice of Programming
  • #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
  • Craftworks Tech Blog » UTF-8 文字列の URI エスケープ

  • 1