タグ

文字コードに関するsvankmajerのブックマーク (15)

  • Encode 日本語などのマルチバイト文字列を適切に処理する - Perl入門〜サンプルコードによるPerl入門〜

    Perl › モジュール › here 日語などのマルチバイト文字をPerlで適切に扱うにはEncodeモジュールを使用します。次の3つのことを覚えておけば多くの場合適切に日語を扱うことができます。 外部から入力された文字列はEncodeモジュールのdecode関数でデコードする 外部へ出力する文字列はEncodeモジュールのencode関数でエンコードする ソースコードはUTF-8で保存しutf8プラグマを有効にする この解説での用語 この解説では外部から入力された文字列のことを「バイト文字列」と呼ぶことにします。Perlの内部表現に変換された文字列を「内部文字列」と呼ぶことにします。また「バイト文字列」が特定の文字コードで記述されている場合は「UTF-8バイト文字列」「Shift_JISバイト文字列」などと呼ぶことにします。 プログラミングで日語を扱う場合にその文字列がバイト文字

    Encode 日本語などのマルチバイト文字列を適切に処理する - Perl入門〜サンプルコードによるPerl入門〜
    svankmajer
    svankmajer 2009/10/23
    perl5.8以降の文字コード問題解決編・初心者向けにすごく丁寧な解説
  • perl - EncodeでXSSを防ぐ : 404 Blog Not Found

    2009年03月03日19:00 カテゴリLightweight Languages perl - EncodeでXSSを防ぐ 良記事。 第7回■文字エンコーディングが生み出すぜい弱性を知る:ITpro だけど、問題点のみ具体例があって、対策にないのが片手落ちに感じられたので、その点を補足。 結論だけ言ってしまえば、Perlなら以下の原則を守るだけです。 404 Blog Not Found:perl - Encode 入門 すでにOSCONでもYAPCでも、あちこちそちこちでこの基方針に関しては話したのですが、ここ 404 Blog Not Found でも改めて。 Perl で utf8 化けしたときにどうしたらいいか - TokuLog 改め だまってコードを書けよハゲ入り口で decode して、内部ではすべて flagged utf8 で扱い、出口で encode する。これが

    perl - EncodeでXSSを防ぐ : 404 Blog Not Found
    svankmajer
    svankmajer 2009/09/15
    unicode,utr-8,utf8,文字化け対策,perl5.8以降の標準的なやり方
  • inasphere blog | MySQLの文字化け対策

    PHP-MySQL間での文字化けについて。 問題点 PHPMySQLともにUTF-8で構成しているのに、DBとのデータ受け渡しで文字化けが起こる(おそらく他の文字コードでも同様)。 対応策 下記どちらかの対応を実施する。 その1 DB接続ごとに、処理実行前に「SET NAMES UTF8」というクエリを発行する。 その2 my.cnfファイルの設定を下記のように変更する。 #character-set-server = latin1 // 元々あるものをコメントアウト #collation-server = latin1_general_ci // 同 上 default-character-set=utf8 // 新しく追加する skip-character-set-client-handshake // 同 上 実行時の環境 Windows 2000 XAMPP 1.6.1 PH

    svankmajer
    svankmajer 2008/12/11
    文字化け対策 my.cnf をいじるか、DB/mysql.phpのconnect の最後にmysql_query("SET NAMES UTF8")か
  • perl - Encode 中級 : 404 Blog Not Found

    2008年05月08日04:00 カテゴリLightweight Languages perl - Encode 中級 以前書いた 404 Blog Not Found:perl - Encode 入門 は大好評でしたが、 ウェブで利用される文字コード、UnicodeがASCIIを上回る--グーグルが明らかに:マーケティング - CNET Japan UnicodeがASCIIを追い越し、World Wide Web上で最も多く利用されている文字コード体系になったとGoogleのシニアインターナショナルソフトウェアアーキテクトMark Davis氏がブログで述べている。 という時代に完全対応するには、入門以上の知識がちょっと必要になります。 例えば、blogをホストしてくれているlivedoor blogの文字コードはEUC-JP。「時代はUnicode」だと言っても、こうした事情もまだ

    perl - Encode 中級 : 404 Blog Not Found
    svankmajer
    svankmajer 2008/05/08
    encode.pm unicodeから別な文字コードに変換(EUC等)するときのtips
  • memokami :: 第2回モバイル勉強会で「キャリア判別と絵文字の扱い」を発表してきました

    第2回モバイル勉強会を開催しました。 今回はモバイルに情熱を持ったスピーカー12名の方々にご賛同いただき、 密度の濃いモバイルの勉強会を開催することが出来ました。 当に皆様のおかげで、このような素晴らしい会を開催することが出来ました。 ありがとうございました。 また祝日の上、大人数にも関わらず、快く会場を貸してくださった上に 朝早くから会場設置までしてくださったECナビさん、当にありがとうございました。 私も1スピーカーとして発表してまいりましたので、 その資料をあげておきます。 「キャリア判別と絵文字の扱い」 さてそんな第2回モバイル勉強会のご報告です。 ■スピーカーセッション ★モバイル前世紀 小飼 弾 さん 資料:モバイル前世紀 動画:モバイル前世紀 プレゼンテーションは携帯のみ! 参加者各自で携帯を触りながらのプレゼンは斬新でした。 某ライブ○アの頃の携帯サイトを作ったときに話

    memokami :: 第2回モバイル勉強会で「キャリア判別と絵文字の扱い」を発表してきました
  • Encode::JP::Mobile

    NAME Encode::JP::Mobile - 日の携帯電話向け Shift_JIS (CP932) / UTF-8 エンコーディング SYNOPSIS use Encode; use Encode::JP::Mobile; my $bytes = "\x82\xb1\xf9\x5d\xf8\xa0\x82\xb1"; # NTT DoCoMo 絵文字を含んだ Shift_JIS バイト列 my $chars = decode("x-sjis-imode", $bytes); # \x{3053}\x{e6b9}\x{e63f}\x{3053} use Encode::JP::Mobile ':props'; if ($chars =~ /\p{InDoCoMoPictograms}/) { warn "It has DoCoMo pictogram characters!"; }

    Encode::JP::Mobile
  • 404 Blog Not Found:perl tips - Encodeを速く使う方法

    2007年04月23日01:30 カテゴリLightweight LanguagesTips perl tips - Encodeを速く使う方法 はっきり言ってこれはフェアではない。 みかログ: ErlangとPerlの速度比較 Perl側は,Encodeが遅い. Encode::from_toがinplaceでコンバートしてしまうために,直前に文字列コピーがあるのも影響しているのかも なぜなら、Encode::from_to()は速度ではなく、安全性に最適化しているから。 そもそもはじめからUTF-8、それもutf8フラグがたっている文字列にfrom_toを使うのはばかげている。 for(my $i = 0; $i < 0xffff; $i++) { my $str2 = $str; Encode::from_to($str2, "UTF-8", "Shift_JIS"); } は単に

    404 Blog Not Found:perl tips - Encodeを速く使う方法
  • それ Unicode で

    UTF-7 を使ってスクリプトを記述 +ADw-SCRIPT+AD4-alert(\'XSS\');+ADw-+AC8-SCRIPT+AD4- IE は、文字エンコーディングが不明で UTF-7 っぽい文字列があれば、自動判別で UTF-7 となる。

    svankmajer
    svankmajer 2006/12/14
    HTMLフォームセキュリティホール全10パターン。
  • 文字コードの基本文献は? - もじのなまえ

    そういえば日曜日の「もじもじカフェ」、お出でくださった皆様どうもありがとうございました。いつも一番の楽しみは、終わった後の懇親会だったりするんですが、その席である学生さんから「文字コードを勉強するとっかかりになるような文章、ありませんか?」との質問が。 ネット上で入手できて、信頼性が高く、しかも読んだ後に次のステップが見えてくるような文章。つまり基文献ですね。もちろん、ぼくなどの原稿ではダメダメ。しばらく考えて挙げたのが以下のもの。皆さんならどんな文章を挙げますか? 漢字・日語処理技術の発展:漢字コードの標準化(芝野耕司) 日の漢字コードを前史の段階から詳述 JIS X 0221(ISO/IEC 10646)の目指すもの(芝野耕司) ISO/IEC 10646(Unicode)についての基文献ならこれ 文字コードと図書館(芝野耕司) 標題にとどまらず、国際規格の歴史を詳述 JIS漢

    文字コードの基本文献は? - もじのなまえ
  • 文字コード規格の基礎:ITpro

    この記事は,日経ソフトウエア 1999年10月号に掲載したものです。それ以降の情報が盛り込まれていませんので,現在とは異なる場合があります。 文字コード規格の基礎を手早く理解したい場合などにお役立てください。 文字コードは間違いなく情報を交換するための「決まりごと」なので,正確を期すため厳密な仕様が規定されている。だが,その仕様そのものを実装するプログラムを作る場合を除けば,プログラマが仕様の詳細を隅々まで理解している必要はない。六法全書を読んでいなくても問題なく普段の生活ができるようなものだ。 ここでは,通常のプログラミングをするうえで必要と思われる範囲のことを,なるべく簡潔に説明したい。「半角カナ」のような呼び名は正確さを欠くものだが,多くの人に伝わりやすいので説明の中でも使っていく。説明を簡略化するため「正確な仕様を知りたいときは規格書そのものを必ず参照してほしい」と書きたいところだ

    文字コード規格の基礎:ITpro
  • MySQL 文字化け問題を本気で直す

    mysql> status; -------------- mysql Ver 14.7 Distrib 4.1.20, for redhat-linux-gnu (i386) using readline 4.3 Connection id: 36 Current database: staff2006 Current user: maiha@localhost SSL: Not in use Current pager: lv Using outfile: '' Using delimiter: ; Server version: 4.1.20 Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: latin1 Db characterset: latin1 Client char

  • Railsで日本語を使う時に必須のパッケージ Ruby-GetText

    Posted by masuidrive Sun, 02 Jul 2006 18:22:00 GMT Railsで日語アプリを使う時のサポートパッケージとしては、ActiveHeart が有名です。私もずっとActiveHeartを使ってましたが、RJS+Safariの文字化け問題解消のため、Ruby-GetText に移行することにしました。それぐらい自分で書いても良かったんですが、せっかくあるので使わないとw Railsの日語化ユーティリティとしては、今のところ最強な気がする>Ruby-GetText Ruby-GetTextはgemsで配布されているので、インストールしてみます。 Ruby-GetTextとActiveHeartを簡単に比較してみました。 Ruby-GetTextが有利な点 Safariで文字化けする問題も解消されます。RJS利用時も問題ありません メッセージをプ

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

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

    svankmajer
    svankmajer 2006/06/28
    iconv() を正しく使う方法など。
  • Unicode::Normalize で遊ぶ - daily dayflower

    Unicode の規格では,文字の合字(リガチャ等)等を統一的に扱えるように,「正規化」という処理が仕様として定まっています。この正規化処理のうち「互換性分解」という処理を行うと副作用として半角カナを全角カナに変換できます(逆に全角カナ→半角カナはできません)。 #!/usr/bin/perl use strict; use utf8; use Encode; use Unicode::Normalize; my $src = 'ポンジュース'; my $dst = Unicode::Normalize::NFKC($src); print Encode::encode('utf8', "${src} => ${dst}\n"); # OUTPUT is: ポンジュース => ポンジュースUnicode の正規化についてはperl5.8のUnicodeサポート および http:/

    Unicode::Normalize で遊ぶ - daily dayflower
    svankmajer
    svankmajer 2006/06/24
     unicode 半角カナ対策
  • daily dayflower - 半角←→全角変換,Unicode::Japanese に未公開機能が…

    2008-10-21 追記 いまだに(ありがたいことですが)検索で飛んできたりブクマされたりというのがちょいちょいあるので,最新動向を書いておきます。 id:tokuhirom さんが Lingua::JA::Regular::Unicode という Pure Perl Module をリリースなさいました(→ http://d.hatena.ne.jp/tokuhirom/20081018/1224300947)。 あなたが作っているアプリで文字列まわりを Unicode::Japanese インスタンスですべて持ちたいわけでなければ(そして,たいていのばあい,持つ必要はないのですが),この Lingua::JA::Regular::Unicode を使うのがベターです。依存性もなく,とても軽量ですので。 2008-10-21 追記おわり ウェブアプリを作っていると,ユーザが入力した半角

    daily dayflower - 半角←→全角変換,Unicode::Japanese に未公開機能が…
    svankmajer
    svankmajer 2006/05/30
    Unicode::Japanese の紹介
  • 1