かつてWindowsでテキストファイルといえばシフトJIS形式のものが大半だった。しかし最近では、UTF-8形式のテキストファイルも普通に見かけるようになってきた。世の中はUTF-8が主流になりつつあると言っていいだろう。 しかし、WindowsでUTF-8を使うと、ちょっと困ったことがある。それは、エクスプローラーの検索欄などで用いるWindows Searchが、UTF-8にはしっかり対応していないのである。正確に言うと、Windows Searchはファイル先頭に「BOM」のあるUTF-8は認識して正確にインデックス化し、ファイルの全文検索が可能になるが、BOMのないUTF-8では正しくインデックス化できず、ファイルの全文検索はASCIIコードのみ可能で、日本語などの非ASCII文字では全文検索ができない。 同じ内容のテキストをUTF-8、UTF-8 BOM付き、UTF-16ビッグエ
数年前、三菱電機から依頼を受けて、「e-F@ctory」という同社のWebサイトに、BOM(部品表)に関する文章を書いた。今はそのurlはリンク切れになっており、同社のサイトを検索しても見つからない。サイトのリフォームにともない、この種の一般解説的文章は削除されたのだろう。そこで、当時の文章を、一部ブラッシュアップして、ここに再掲することにする。内容的に、とくに古くなってしまった部分も見あたらないと思う。製造業におけるBOM(部品表)の構築と改善は、いつでも古くて新しい課題なのである。なお、ここでは分量の関係で2回に分けて掲載する。 <今、なぜBOMが問題なのか> 不況の長いトンネルを抜けて、いま日本の製造業は元気を取り戻しつつある。そして多くの企業で、この機会に生産全体のあり方を見直したい、という気運が高まっているようだ。 製造業とは、物品(マテリアル)を産出・加工し、付加価値をつけて販
本番環境サービスインの事前作業を僕と新人さんとで行った。 お互い在宅でリモート作業。 新人さん――2〜3年目くらいの子――が作った手順を元に僕が作業画面を共有する形で作業を進めた。ペアプログラミングならぬペアオペレーションってやつだ。 作業内容はテスト環境で作ったデータを本番用にコンバートしつつ入れ込むもの。 ある作業の中で入れ込んだデータを確認するためにcsvファイルにエクスポートして中身を確認する事を行うのに、何気なく`Alt-h`,`pe`,`↓`,`Enter`(WindowsエクスプローラのHomeのリボンを開いて、ファイルを開くセレクトボックスを展開、↓矢印で一つ下のSakura Editorを選択して開く)で、関連付けされているExcelではなくテキストエディタで開いた。 その時、「今のどうやったんですか?」と質問された。 手慣れたキー操作だったため素早かった事、オンラインミ
Javaのサーバアプリにクライアント側からPOSTで文字列でXMLを送りつけたらXMLの解析時にパースエラーになって1時間ほどハマった時の話。 結論を先に言いますと、BOM付きのまま文字列としてサーバに送信してしまったのでJAXBでコケた。ということです。対策としてはファイルをBOMなしにしました。 当初Python内で文字列を書いてそれをJavaのサーバアプリ側にPOSTしていたときは問題が起こらなかったが、XMLファイルをあらかじめつくっておいてそれをPythonで読み込んでPOSTしたときにエラーになってしまった。 XMLのパースにつかっていたライブラリはJAXBというもの。 // クライアントからPOSTで受け取ったXML文字列をパース JAXBContext jaxbContext = JAXBContext.newInstance(Foo.class); Foo foo = (
よくセミナーなどで、「マネジメントとはどんな仕事でしょうか?」と問いかけると、「PDCAサイクルを回すことです」という答えが返ってくることがある。とくに製造業では、継続的改善のためのデミング・サイクルが、全員の頭にまことによく刷り込まれている。これ自体は立派なことだと思う。 だがPDCAサイクルを回すことだけが、マネジメントのすべてではない。そこは誤解してもらいたくない、と思う。なぜなら、企業の中には、一過性の仕事というのも多数存在するからだ。新製品を設計する、試作品を検査する、特注品を製造する、新工場を海外に開設する・・こうした仕事はすべて、一過性である。PDCAサイクルは、繰返し性のある仕事を、さらに高いレベルに改善していくことで、だからCheckとActionが入っている。じゃあ繰返し性のない一過性の仕事は、どうしたら良いのか? 一過性の仕事を計画すること、実行可能にすること、再利用
EC事業部エンジニアのharashoです。この記事はEC事業部ブログリレーの13日目の記事で、12日目は@ku00さんによるカラーミーショップの一機能をAngular Elementsで実装しましたでした。 タイトルがこの記事の結論になりますが、私が遭遇したCSVファイルの読み込み処理で起きた不具合と原因、対応方法について書きます。 CSVファイルの読み込み処理で起きた不具合 不具合の原因 BOMについて 対応方法: BOMを取り除く おわりに CSVファイルの読み込み処理で起きた不具合 私が開発に携わったカラーミーリピートの一括発送アプリには、注文に対する発送リストをCSVファイルから一括登録して、発送処理を行う機能があります。以下はその機能の簡単な流れと、CSVファイルのイメージです。
1.はじめに UTF-8 の文字コードのファイルには、BOM (Byte Order Mark) がある場合とない場合がある。 Unicode の規格では、BOM は、推奨されないが、許容されている。 ja.wikipedia.org 今回、必要があり、色々な OS や言語で、UTF-8 の文字コードのファイルを作成した時、BOM が記録されるか、されないか、を調べた。 2.色々な OS や言語での BOM 2.1 Windows 10, Visual Studio, C++, _wfopen (_tfopen), // Visual Studio 2005 以降 保存 FILE *fp = _wfopen(name, _ L"w, ccs=UTF-8"); if (fp == NULL) { // エラー処理 } fwprintf_s(fp, L"ABC漢字123\n"); fclose
文字コードのUTF-8について、BOM無しと、BOM付き、というのがあったのですが、具体的に、どう異なるのでしょうか? 分かりやすく説明いただけますと嬉しいです。 よろしくお願い致します。
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く