起きたこと
S3に保存されている画像一覧を表示するページを開こうとした際に、下記のエラーが発生しました。
xmlParseCharRef: invalid xmlChar value 16
原因
直前にS3にアップロードされた画像名に制御文字が入力されていました。
↓こんな感じです。
検証ツールで見るとこんな感じ。
tokushu
の前後に明らかに変な文字が入ってる笑
アップロード前のローカルで見るとこんな感じ。
ローカルだと全く変じゃないのに、S3にアップロードしてみると判明しました。
ローカルはトリミングされてるのかな?
対処
まず、S3コンソールから該当ファイルを直接削除しようとしましたが削除できませんでした。
おそらくS3コンソール側も制御文字を認識しておらずに削除できなかったのかな?
オブジェクトの名前変更はできたので、S3コンソール上で制御文字を削除した名前に変更して対処しました。
恒久対応としては、S3アップロード時に制御文字をトリミングしてあげるといった下記記事のようなことが必要になりそうです。(そこまでやってないけど)
https://codenote.net/tool/4521.html
参考になりました🤗