misc.log

日常茶飯事とお仕事と

文字コード

ファイル名が違うと言われたが違いが分からない(俗字と言われるものだった……)

自宅で管理しているPDFファイルを、メインPCとNASの2箇所で同期させながら保管しているのですが、たまにズレがあるのでWinMergeでまるごと比較して同期漏れなどがないかを確認していました。その中で「いや、何が違うのかわからないのだけど……」というファイ…

C# StreamReaderでSJIS指定していてもUTF-8のファイルを自動判別することがある

新人研修で課題として作っていたサンプルでたまたま見つけた挙動、というか仕様。忘れないようにメモしておきます。 BOM付きUTF-8ファイルをSJIS指定のStreamReaderで開く 結論:開けます。下記のように、GetEncodingでShift-JISを指定したStreamReaderであ…

UTF-8かどうかの判定(C#)

別システムからのデータファイル取り込み処理で、文字コードが不明であった場合にどうするか、という話から、UTF-8かどうかのチェックができるのか?という話題になりました。 UTF-8の種類 UTF-8という文字コードには、BOM(Byte Order Mark)という情報があ…

TestLink 1.9.17 でExcelからのインポートを行う

※まだ作業の途中なので適宜追記していきます。ソフトウェアのテスト管理ツール「TestLink(Version 1.9.17)」の導入をもくろんでいろいろと試しているのですが、TestLink自体のGUIが微妙に使いづらいため、大量のテストケースを書いて登録するという作業をT…

削除文字(&H7F)

※日本語変換や環境によっての差異について補記(2019/01)。個人用メモ。10年くらいまえの案件で入力文字制限の議論で登場した文字、すっかり忘れていたのを思い出したのでメモしておきます。 DELの制御コードはキーから入力できる 入力処理のテスト仕様書殺…

HTMLの文字コードがUTF-8に……

HTMLの文字コードがUTF-8に統一されることになるようですね。詳細はきちんと読めていませんがmomdo.hatenablog.jpそういえば先日、文字化けしたページを開くのにChromeの文字コード変更選択メニューをさがしたのですが、無くなっていました。機能が消えた背…

2年目若手向けにEBCDICとBCD記法について説明したときの資料

古いやりとりを掘り返していて見つけたメッセージを残しておきます(発掘日:2021/10/5)。相手は新卒で入って2年目。専門教育なし。2年目でこんなことをやる羽目になるとか可哀想すぎる。客先で動いていたもののリプレースに関するもので、一部、その場の状…

文字種チェックでよく使っている文字

各種プラットフォームをまたがるシステムなどで、ファイル名やファイル内の文字などが文字化けするのはよくあることですが、化けるかどうかのテストをどうするかは悩ましい問題です。私がよくテストで使っている文字があるので自分用のメモも兼ねて記載して…

文字コード関連の過去エントリー

なんか自分よりずっと前からウェブ関連やってる人たちが全然文字コードとか気にしてなくてノウハウも持ってなくてちょっと参ってるので、とりあえず過去に自分が書いたものを列挙しておきます。何か聞かれたときにさっと調べられるように。 文字コード全般 w…

文字コードを調べられるサイト

PostgreSQLへのデータ投入で文字コードに関するエラーが出たので、コードで検索していたらこんなサイトを発見。www.isthisthingon.org文字⇒コード、コード⇒文字も表示できるのでこれは便利!!!インターネット時代の文字コード作者: 小林竜生,安岡孝一,戸村…

だれだよvarcharで宣言したのは。ユニコード文字がDBに入らない

SQL Serverを使った古いシステムの移植作業でDBの定義はそのまま使いまわすということで作業を進めていたのですが、なぜか投入した文字データが化ける。よくよく見てみると型宣言がvarcharになっていました。これですが、SQL Serverだと varchar : 可変長文…

PHPで全角半角変換を行う

全角文字、半角文字の混在が検索処理などを阻害しているとして、入力時に整形処理を行ってほしいとの要望。簡単にできないか、と思って調べたところ、標準関数でありました。あるんですね。いいなこれ。関数名は「mb_convert_kana」。使い方は下記のような感…

Response.TransmitFile等で返したExcelファイルのファイル名が化ける

ASP.NETで、Response.TransmitFileやResponse.Writeを使ってExcel形式のデータやファイルを返送しようとしたのですが、ファイル名が化けてしまうという現象が。データの内容は問題ないのですが、ファイル保存ダイアログなどのファイル名が化けてしまいます(…

ASP.NETでExcel形式のデータを返す

ちょっとした調査で、ASP.NETのWebアプリからExcelで開けるデータを送り返すテストを行うことに。文字コードの部分でちょっと引っかかったのでメモしておきますね。以前、PHPの案件でも同じところで引っかかったのですが。 Excel形式を指定してResponseで返…

文字コードについて調べなおす機会があったのでメモ

PHPのプログラムで、Cookieの文字列がSJISで指定されていて、受け側が全部UTF-8で死ぬという事件がありいろいろ調べつつ対応(笑)この辺、いつも調べながら「なんだっけ?」って思い出しているので、チェックのポイントだけメモっておきます。 UTF-8にしか…

いわゆる「半角文字」チェック

入力された文字が、いわゆる半角文字、ShiftJISであれば1バイトで表現できる文字かどうかを判断するロジックを組む必要があったので、過去のコードをひっくり返してみました。某作業で作ったコードがたぶん使えそう。方法はいろいろありますが、これは正規表…

SJIS設定のOracle DBにいろいろ文字を突っ込んだ時の記録

文字コードがらみの調べ物をしていたときのメモを転記しておきます。Oracle 10gをキャラクタセット「JA16SJISTILDE」で設定し、そこにVB.NETから変な文字(笑)を突っ込んだ時に文字がどう化けるかの実験結果です。全角やら半角やらって用語についてはとりあ…

ユニコードのコード番号から実際の文字を生成する

2013年の2月と7月に、大嫌いな文字コードのお仕事をする羽目になって必死に調べて作業した時の記録を一切公開していなかったので、発掘して残していきます。いずれC#で書き直したいのですが、とりあえずはVB.NETのコードを切り貼りしてあとで参照できるよう…

VB.NETでのサロゲートペア文字の取り扱い

文字のチェック処理を扱う必要が出てきたのでテストデータを作っているのですが、サロゲートペアがどのように扱われるかについて勘違いしていました。たとえば、U+29E3D、「ほっけ(魚+花)」という文字ですが、これはプログラム中では以下のように取り扱わ…

それ最初に言ったじゃないですかー(白目

ことの経緯を順に話すぜ。 半角文字を弾くロジックでいいものは無いか?とアドバイスを求められる。 自分「SJISで文字数2倍とバイト数比較して不一致、というのはどうですか?」 周囲「それはJIS2004とかの場合にうまくいくか判らないからダメだ」 自分「そ…

文字コードと文字種チェック

とりあえず現時点ではまとめられないのでメモを残しておきます。文字種チェック処理を書く必要が出てきたのですが、厳密に実装しようとするといろいろ考えないといけないことが多く、正直参りました。 コード「A0/FD/FE/FF」に関する情報 スレ立てるまでもな…

ファイルからコード指定で行単位読み込み

テキストファイルから文字コードを指定して行単位で読み込みたい場合、たとえばShift_JISなら、 Dim Reader As New StreamReader(SourceFile, Encoding.GetEncoding("Shift_JIS")) で作成したオブジェクトを使う。 FileStreamを使うと、バイト配列にバイト単…

Shift_JISとUNICODE、VB.NET

別の仕事で、文字コードに関する質問が出ていたので調べる。外字を含んだShift_JISのデータを、果たしてVB.NETは問題なく処理できるのか?という疑問。いや、こんなことはたぶんわかってる人には当たり前なんだろうけど、わからない人にはわからないわけよ。…