やりたいこと 日本語の文字列に任意の文字列が含まれるかどうか判定したい。 二通りのやりかたを書く。 正規表現でマッチさせる use Encode qw/encode/; # source text my $str = 'メッセージ”通信エラー”が表示されます。'; my $p = '通信エラー'; $p = encode('utf8', $p); $str = encode('utf8', $str); if ($str =~ m/$p/) { # マッチをトライ print "Found it!!!"; } index関数を使う あるいは、index関数を使って任意の文字列が含まれるかどうかを判定できる。 ## index function if (index($str, $p) >=0) { print "Found it!!!\n"; } メタ文字にマッチさせたいときは、\でエスケー
using namespace System; using namespace System::Text; int main() { String^ unicodeString = "This string contains the unicode character Pi (\u03a0)"; // Create two different encodings. Encoding^ ascii = Encoding::ASCII; Encoding^ unicode = Encoding::Unicode; // Convert the string into a byte array. array<Byte>^unicodeBytes = unicode->GetBytes( unicodeString ); // Perform the conversion from one enc
この記事では、.NET に用意されている、さまざまなエンコード スキームを使用してテキストをエンコードおよびデコードするためのクラスの使用方法について説明します。 この手順は、.NET での文字エンコードの概要に関する記事を既に読んでいることを前提としています。 エンコーダーとデコーダー .NET には、さまざまなエンコード システムを使用してテキストをエンコードおよびデコードする、エンコーディング クラスが用意されています。 たとえば、UTF8Encoding クラスには、UTF-8 へのエンコードと UTF-8 からのデコードに関する規則が記述されています。 .NET では、string インスタンスに対して UTF-16 エンコード (UnicodeEncoding クラスによって表されます) が使用されます。 エンコーダーとデコーダーは、他のエンコード スキームでも使用できます。
PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。 SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。
エクセルで文字化けするCSVの修正方法WebシステムからCSVをダウンロードしてパソコンのエクセルやその他のアプリケーションで開いたり、PCで作ったCSVがWebシステムにインポートすると文字化けする場合に、文字化けを回避する方法をご紹介します。 WebシステムからCSVをダウンロードしてパソコンのエクセルで開く、などは業務上よく行う作業だと思います。また、エクセルで整えたCSVファイルをWebシステムにインポートする場合もありますね。このような場合に日本語文字が文字化けしてしまうのを回避する方法をご紹介します。 英語ベースのサイトでも大きなWebサービスだと日本語対応もある事が多いですが、マイナーなサービスを使っているような場合にインポート・エクスポート時の日本語文字化けを回避することができます。また、ご自身でWebサービスを運営する場合に文字化けせずにCSVを扱う方法をご紹介します。
gitで日本語ファイルが文字化けする こんばんは。小室です。gitを使っていて日本語のファイル名を入れるとファイル名の表示が崩壊するという経験をしました。 割と今までは放置していたのですが、きちんと日本語ファイル名を表示するコマンドを教えてもらったため、備忘録として記録しておきます。 若干人を小馬鹿にしたようなファイル名のファイルを配置したディレクトリをサンプルとして用意しました。 $ ls -la total 8 drwxr-xr-x 4 komurohiraku staff 136 Mar 25 19:09 . drwxr-xr-x 22 komurohiraku staff 748 Mar 25 19:08 .. drwxr-xr-x 10 komurohiraku staff 340 Mar 25 19:08 .git -rw-r--r-- 1 komurohiraku staff
小さなバイナリを受け渡ししたいけれどファイル共有サービスとか使うのも面倒だしbase64 にしてgist に貼ってしまおうと思ったのですが,nkf コマンドでbase64 にエンコードして,確認のためデコードしてみたら違う結果に. % cat original | nkf -MB > hoge % cat hoge | nkf -mB > fuga % diff original fuga バイナリーファイル original とfuga は異なります % ls -l -rw-r--r-- 1 mk mk 4080 5月 29 20:38 original -rw-r--r-- 1 mk mk 5422 5月 29 20:52 hoge -rw-r--r-- 1 mk mk 3999 5月 29 20:52 fuga Google+ にこのことを書いたら https://plus.goog
問題 自分の環境:UTF-8 SSH接続先:EUC-JP とかよくありますね。 $ export LANG=eucJP とか $ export LANG=ja_JP.UTF-8 してあげてもいいんですが、わざわざやるのも面倒ですし、「ログイン先とこっちのどっちで設定するといいんだ?」みたいに悩みます。 解決法 cocotというツールを使います。 $ brew install cocot でインストール終わり。後は $ cocot -t UTF-8 -p EUC-JP ssh tarou@example.com とすると、手元のUTF-8環境に合わせて向こう側のEUC-JPをコンバートしてくれます。 参考 Ubuntu日本語フォーラム / GNOMEの文字コードを常にEUC-JPにする方法
アルファベットをすべて選択して半角に統一する文書中のアルファベットをすべて全角や半角に統一したいと思ったことはありませんか。そのためには、文書中のすべてのアルファベット(全角・半角)を選択したあとで、全角や半角に置き換えると簡単です。今回は、その具体的な操作を紹介します。 アルファベットだけを選択できたら便利なのに…… 文書中に「Windows」や「Office」といったアルファベットを入力するとき、皆さんは全角で入力していますか? あるいは半角でしょうか? 私は半角で統一しています。理由は、仕事で書く原稿では半角のアルファベットを要求されるからです。Webサイトや雑誌・書籍などでは、半角アルファベットの方がきれいに見えるため、原稿も半角のアルファベットなのです。 このため、仕事ではない文章を書くとき、たとえば私用のメールを書いたりブログを書いたりするときもアルファベットは半角で統一する癖
Welcome to the Unicode Security Guide! This guide has been designed to give Web application developers, software engineers, and application security researchers a reference for understanding Unicode-related security issues in operating systems, applications, and the Web. The dynamics of Unicode, and character encodings in general, are often misunderstood or poorly implemented, and lead to an array
Ruby 1.9 から文字列や正規表現オブジェクトはそれぞれエンコーディング(いわゆる文字コード)を保持するようになりました。 たとえば 0xB1 0xB2 という2バイトは EUC-JP エンコーディングでは「渦」、SHIFT_JIS エンコーディングでは「アイ」という文字になります。つまり同じバイト列でもエンコーディングが異なれば異なる文字として解釈されます。 1.8 では文字列はただのバイト列でした。なので、それがどのような文字を表しているのか、つまりエンコーディングが何なのかはプログラムが知っている必要がありました。 1.9 では文字列オブジェクト自身が自分が何のエンコーディングかを知っています。同じ 0xB1 0xB2 というバイト列でも、それが EUC-JP の「渦」なのか SHIFT_JIS の「アイ」なのかは、文字列自身が知っています。 スクリプトエンコーディング スクリプ
1. <Insert Picture Here> MySQL 日本語利用徹底入門 日本オラクル株式会社 MySQL Global Business Unit テクニカルアナリスト 奥野幹也 2012 年 5 月 29 日 Copyright© 2012, Oracle. All rights reserved. 2. 2 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。ま た、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはでき ません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確 約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オ ラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊 社の裁量により決定されます。 Oracle と Java は、 Oracle Cor
補足 この記事は旧徳丸浩の日記からの転載です。元URL、アーカイブ、はてなブックマーク1、はてなブックマーク2。 備忘のため転載いたしますが、この記事は2010年7月1日に公開されたもので、当時の徳丸の考えを示すものを、基本的に内容を変更せずにそのまま転載するものです。 補足終わり PHPのデータベース・アクセス・ライブラリPDOは、DB接続時の文字エンコーディング指定ができないため、文字エンコーディングの選択によっては、プレースホルダを使っていてもSQLインジェクション脆弱性が発生します。 追記(2011/06/19) ここに来て急にブクマが追加されはじめていますが、このエントリを書いてから状況が改善しています。PHP5.3.6(2011/03/17)にて、PDOでもデータベース接続の文字エンコーディングを指定できるようになりました。この版で、UNIX版のPHPでは解決しましたが、Win
自分の環境では、sortコマンドを実行する時にLC_ALL環境変数に'C'をセットするかしないかで、処理終了までの時間が著しく変わる。 # 約40万行のデータ > wc -l words 392126 words # 入っているのはUTF-8の日本語(IPA辞書を利用) > head words やぼったい やぼったし やぼったから やぼったかろ やぼったかっ # 普通のソート > time sort words > /dev/null real 0m37.158s user 0m37.098s sys 0m0.056s # LC_ALL=Cでのソート > time LC_ALL=C sort words > /dev/null real 0m0.293s user 0m0.284s sys 0m0.008s ロケールを考慮してソートするかどうかの違いだと思うが(LC_ALL=Cの場合は、
徳丸さんがまっちゃのLT資料公開されてますが>http://d.hatena.ne.jp/ockeghem/20090917/p1、その資料はもちろんのこと、Relatedで出てくる資料も興味深いですね。 http://www.slideshare.net/fmavituna/how-to-detect-xss http://www.slideshare.net/markstanton/be-afraid23 http://www.slideshare.net/d0nut/webhacks-am-beispiel-php-mysql http://www.slideshare.net/manugoel2003/php-security http://www.slideshare.net/skyhawk133/protecting-your-web-sitefrom-sql-injectio
(Last Updated On: )私が4年前(2005年)に「Webアプリセキュリティ対策入門」を執筆していた時には、既に壊れた文字エンコーディングなどの不正な文字エンコーディングを利用したJavaScriptインジェクションやSQLインジェクション攻撃は比較的広く知られていました。この問題は当時のスラッシュドットジャパンでも取り上げられていました。/.で取り上げられたので、そこら中のWebサイトとユーザが被害に合うのでは?とヒヤヒヤしたので良く覚えています。 不正な文字エンコーディングを利用した攻撃は、文字エンコーディングを厳格に取り扱い、文字エンコーディングをバリデーションすれば無くなります。これを怠ると、システムのどこで問題が発生するか予想できなくなります。つまり、いい加減に文字エンコーディングを取り扱うと安全なシステムは作れないのです。 参考:エンジニア向けにもう少し解りやすい
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く