Humanity

Edit the world by your favorite way

CDDB に初めて登録したけどジャンル欄が文字化けてしまうので助けてほしい

CDDB は CD 入れると取得できるアレ。 自分はここのを使わせてもらってる。

https://freedbtest.dyndns.org/

設定はこの通りにしてある。

cdex の設定

そして送る時はここを参考にした。

TIPS集みたいな

登録したやつはこれ。

DIVERSE DIRECT | La Kasketia

DIVERSE DIRECT | nishi-ogikubo Landscape

2018/10/03

まだ表示されてない。 「更新: 2018-10-03 03:21:59」と書いてあるから明日にでもなったら表示されるはず。

Namazu: a Full-Text Search Engine: <La Kasketia>

2018/10/04

検索結果に表示された。

「更新: 2018-10-04 03:21:22」らしいので大体一日間隔でその時間に終わるっぽい。 ただバッチがいつ始まるか分からないので、いつ送れば登録されるかはわからない。

肝心のデータの方はというと、ジャンルが文字化けしてた。 同時に買った ∀rkadia のデータ を参考にして「ジャンル:同人」で送った。

f:id:tyru:20181004152809p:plain

おそらく UTF-8 で送らなければいけない所に CP932 で送って「<0x93><0xaf><0x90>l」のようになってしまっていると思われる。

これに対して2通りの方法を試した。

dbread4.php

こっちは以下の手順。

  1. CDPlayer.ini に書き出し
  2. CDPlayer.ini を UTF-8 にする
  3. CDPlayer.ini から読み直す
  4. CDDB に送る

dbread4.php

こっちは以下の手順。

  1. (CDex のパス)\LocalCDDB\CDexGenres.txt を UTF-8 にする
  2. CDex を再起動する
  3. CDDB に送る

とりあえず明日両方見てどっちの方法が正しかったのかを見るつもり。

ただ後者がまた文字化けしたデータを送ってしまった可能性が高いと思っていて、 CDexGenres.txt 送ったあとに末尾に cp932 のデータが追加されていた。

255  Animation   misc
255 Anime(J)    misc
255 同人  misc

おそらくどこからか読み取った「255 同人 misc」の行がなかったから末尾に追加されたと思うんだけど、読み取った場所が CDDB からなのか他にも「同人」のデータが残ってしまった。

255  Animation   misc
255 Anime(J)    misc
255 同人  misc
(cp932 の "255 同人  misc")

検索してみたらいくつか「同人」のデータはあった。

# jvgrep は日本語の複数エンコードで書かれた文字列を探せるやつです https://github.com/mattn/jvgrep
$ jvgrep -R '同人' /mnt/c/app/cdex_151/
/mnt/c/app/cdex_151/LocalCDDB/CDexGenres.txt:4:255      同人    misc
/mnt/c/app/cdex_151/LocalCDDB/SUBMIT.TXT:23:DGENRE=同人
/mnt/c/app/cdex_151/LocalCDDB/misc/6dto6d:24:DGENRE=同人
/mnt/c/app/cdex_151/LocalCDDB/misc/79to79:23:DGENRE=同人
/mnt/c/app/cdex_151/LocalCDDB/misc/7dto7d:25:DGENRE=同人

そもそも CDex 1.51 とかいう古いバージョンを使ってるのが悪くて、最新だと普通に UTF-8 で送るようになっているのかもしれない…


というわけで CDex 1.77 (Portable, Unicode 版) で再度送ってみた。


そういえばコンピレーションアルバムの場合は V.A.Various Artists どちらがいいのかについてもちょっと迷ったことを思い出した。 項目検索できることをふと思い出して、再度試してみる。

Namazu: a Full-Text Search Engine: <+Artist:"Various Artists">

Namazu: a Full-Text Search Engine: <+Artist:"V.A.">

V.A. が 4069 件、 Various Artists が 56500 件だった。 長いものにはぐるぐる巻かれていくタイプなので、今後 "Various Artists" で統一する。

2018/10/05

送りすぎて制限されたかな… 追記(2018/10/25): メールで問い合わせた結果、回数等に制限はないとのこと。

f:id:tyru:20181006105334p:plain

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Content-Length: 3
#
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
サーバーからの応答がありませんHTTP/1.1 400 Bad Request

Date: Sat, 06 Oct 2018 01:49:38 GMT
Server: Apache/2.2.31 (FreeBSD) mod_fcgid/2.3.9 mod_ssl/2.2.31 OpenSSL/1.0.1u-freebsd
Content-Length: 226
Connection: close
Content-Type: text/html; charset=iso-8859-1
サーバーからの応答がありません<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

CDex 1.77 で送ったはずなのに Submit via : CDex 1.51 となっているのでもしかして昨日あたりから制限されてたんだろうか(エラーは出なかったけど)。 それとも送るのが遅かっただけだろうか。

結果的に制限されてしまった?のでちょっともうよくわからない。 誰か直せる人直して…

追記: 2018/10/25

管理人の方からメールの返信が来て、 文字化けはジャンルに日本語が入ることを想定していなかったことが原因とのことで、 現在は対応してもらって Web 上でも表示できるようになっていた。

ちなみに書いてなかったけど、Web の表示は文字化けてたけど、CDDB に問い合わせて取得したデータは文字化けていなかった。

400エラーについては

  • 回数等に制限は設けておらず
  • 「必ず発生するということであればなにか送信してくるデータが想定外の形でこちらが受け取れていないのかもしれません」とのこと