キーボード修理

イメージ
前回 調子が悪くなったと書きましたが、部品が手配できて時間が取れたので直しました。 茶軸のスイッチを購入 Cherryの茶軸は 10個で1,399- ということで購入。 本当は1個で充分なんだけど、仕方なく残りは予備部品として保管。 作業手順 キーボードの裏側ネジを3箇所外します。 左右と中央の丸シールの下。 左右はパッドを貼っているので、少しめくって外します。 (あとで綺麗に戻るので心配なしです) ケーブルが出ている方は、スッと外れ、手前(下側)は、内部に爪が有るので、ピックやカード、マイナスドライバなどで少し隙間を開けるようにして広げれば外れます。 自分は親指の爪で空きました。 今回は「E」が調子悪いので、該当のピン2箇所をハンダ吸いで綺麗に取り除いて、裏側から引き抜いて完了。 基板にしっかりとどのキーかがプリントされているので分かりやすいですねぇ 入手した新品の茶軸を差し込んでハンダ付けします。 この時点で動作確認が可能になるので、直したキーとその周辺が正しく入力できるのをチェック。 問題なく、無事に動作しました。 最後にカバーを取り付けて完了! 残ったのは9個の茶軸…。 今回の費用 Cherryの茶軸10個セット :1,399- キーキャップ引き抜き工具 : 475-  ちなみに10個セットには、簡易引き抜きがついてきますが、ちゃんとしたもののほうが楽に作業できます。(昔買ったのに、どこかに行ってしまったので再購入)  ということで、1900円ほどで完治しました。  手間賃考えると買ったほうが安いかも(笑)

MacのExcel 2011でCSVを吐く

久々にハマったので…

開発中のシステムのDBを修正するのに、CSVでダウンロード→CSVでアップロードという流れになりました。

そこで、実際にテストを行ってみたものの、どうもおかしい。
なぜかアップロード時に、うまくデータが読めていないようなのだ。

その旨、連絡した所、他の環境では発生しないという。

そこで、こちらがダウンロードしたデータと、EXCELで開いて保存したデータをメールで送る。
 ダウンロードしたデータは、システムに喰わせても問題ない。一旦開いて保存したものはエラーになる。

 ところが、メールを受け取った仲間の環境では、問題が置きないという。?????

こちらの環境の問題か?と思い、先ほどのEXCELで保存したcsvを仮想マシンのWindows上からシステムに喰わせるが、相変わらずエラーになる。
 念のため、ブラウザを変更し、chrome/Firefoxなどでも試す。全滅。
Andoroid上のから、試すも同じようなエラーが出る。

ということは、システムの問題か?と疑うが、誰もエラーにならないという。

そこで、向こうで同じ条件でデータを吐き出し、更新可能なデータを送ってもらう。
パッと見は同じ。

diffでチェック

とりあえず、こちらから送ったデータと、向こうから来たデータをdiffで確認。
全く同一だ。

バイナリエディタで確認

次は、
$ od -h a.csv > a.txt
$ od -h b.csv > b.txt
 とコードに置き直して、これでdiffってみる。
 明らかに途中から違う。

 念のため、od -c a.csv なんかで確認すると・・・。¥r ¥n と書いてある。はっ!

気付けば簡単

もうここまでくれば、明らか。
改行コードが違うのだ。

php側では、¥rのみを改行と認識していないため、次行を継続して読み込む。
当然フォーマットが合わないので、アウト。

なぜ、他の環境でエラーにならないのかを検証。
OSOfficecsv改行コード
Windows7Excel 2013CR+LF
Mac OS X YosemiteExcel 2011CR

そう、Mac 上のExcelはLegacyな改行コードを吐いてくれるということが分かった。
読み込みは、どちらの改行コードでもOKなのに…。

お仲間は、Windows上のExcelで作業しているに違いない。

僕もWindows上のExcelでCSVを吐いていれば、こんなトラブルにも見舞われずに済んだのに。

しかし、Shell上では、UTF-8+LFが今は標準なはず。なのに、ExcelはShift-JIS+CRって、いつの時代で止まってんだよ。

もっと早く気づくべきなのに、疲れているせいでしょうか…。

コメント

このブログの人気の投稿

WPS Officeで日本語入力ができない

VirtualBoxでUSBから起動

Ubuntu24.04 でGUIが死んだ