CEOブログ

横浜で活躍するホームページ作成・開発会社アットライズの代表取締役社長(CEO)が綴る、日々の奮闘記!!

備忘録

[備忘録]「ゼロ幅スペース」の罠。。

投稿日:

見かけ上は誤字がないのに、メルアドエラーになる。。

お客様のメールマガジン配信代行を行っているが、新規アドレスを追加しようとしたところ、メルマガ配信ツールで「アドレス形式エラー」となり追加できないアドレスがあった。。
※当該アドレスを、仮に「ttt@bcd.com」としよう。
 
Excelの一覧表で頂いたのだが、どう見ても問題ない普通のメルアドに見える。。

これを、ワタシがいつも愛用しているテキストエディタ「秀丸」にコピペしたところ
「ttt@ bcd.com」のように「@」と「b」の間にナゾのスペースがあるではないか!

秀丸で保存してバイナリエディタで確認しようとするも、秀丸の保存時にエラーとなり保存できない。。
 

文字コード解析ツールで検証

文字コードを解析するサイトを探してみたら、、「リアルタイム文字コード変換/解析ツール」(*1)なるサイトがあった!
(*1) https://www.natade.net/webapp/mojicode-kaiseki/

このサイトに当該メルアドをコピペし解析してみたところ、、「@」と「b」の間に 文字コードUTF-8で「E2 80 8B」なるコードがあることが分かった。

 

「E2 80 8B」はゼロ幅スペース!

さらに「UTF-8 E2 80 8B」で検索すると、、ゼロ幅スペースとして事例がたくさんヒットした。

— Wikipediaより引用—–
ゼロ幅スペース(ゼロはばスペース、英: zero width space, ZWSP)は、コンピュータの組版に用いられる非表示文字で、文書処理システムに対して語の切れ目を示すのに用いる。

どうやら、英文などは「単語」単位で改行するが、このゼロ幅スペースが入っていると単語の途中でもこの場所で改行する、という位置表示、、ということのようだ。
 
プログラマ時代から30年以上コンピュータの世界にいるが、、「ゼロ幅スペース」なるものには初めて遭遇した。
最初ワケ分からなかったが、判明してスッキリした。。(^^;
 
 

-備忘録

関連記事

[備忘録]ブラウザキャッシュさせない方法

頻繁に更新するファイルはキャッシュしたくない。。 ブラウザにキャッシュさせない方法はいくつかある。 ■metaタグに追記する 参考: https://techacademy.jp/magazine/3 …

[備忘録]Androidスマホ:Googleアカウントからログアウトする方法

複数アカウントのGoogleカレンダーとかがごっちゃに表示される。。 Androidスマートフォンを使っているが、仕事用/プライベート用など複数のGoogleアカウントでログインすると、例えばGoog …

[備忘録]「PHP Fatal error: Allowed memory size of xxxx bytes」エラーの対処

メモリスペックの低いテストサーバーに移植したらエラーに。。 とあるサイトの検証用に、テストサーバーを構築し ファイル・DB等を移植し 環境を整備した。 そして、いざ 当該サイトを表示してみると、、DB …

[備忘録]Excel:セルの値によって色を変える方法

Excel2007での設定方法 ここでは、セルの値が「土」または「日」なら、当該セルを「グレー」に塗りつぶす方法を。 「条件付き書式」で設定する ・対象となるセルを選択し、「スタイル」の「条件付き書式 …

[備忘録]Firefox57:バージョンアップ時の対応

定期的にバージョンアップが必要 メインのブラウザはFireFoxを愛用している。 Firefoxはしばしばバージョンアップされるが、アドオンやその他設定など、自分用にかなりカスタマイズしているので、ア …