これは実際に起こったプログラミングトラブルです。
APIでキーワード検索ができないというトラブルが発生しました。
APIの説明には「UTF-8」という方式でキーワードを指定するとありました。
しかし、その通りにしてもキーワード検索ができません。
原因は「URLエンコード」をしていなかったからでした。
「UTF-8」に変換してから、更に「URLエンコード」に変換する必要があったのです。
「UTF-8」と「URLエンコード」の違いを説明します。
1. UTF-8:文字をコンピュータが理解できる形にすること
2. URLエンコード:安全にインターネットで送るための封筒みたいな物
になります。
例えば「田中」を「UTF-8」に変換すると
「U+E794B0U+E4B8AD」になります。
そして更に「URLエンコード」をすると
「%E7%94%B0%E4%B8%AD」になります。
そこでチャットGPT先生に、Pythonでキーワード検索時に「URLエンコード」に変換するようにしてもらいました。
Pythonで「URLエンコード」にするには「quote」を使います。
「quote
」はPythonの標準ライブラリである urllib.parse
に含まれている関数で、URLエンコードを行うための物です。
これにより、ようやくAPIでキーワード検索できるようになりました。
チャットGPTでは、情報不足などの理由で、原因が特定できないことがあります。
なのでチャットGPT先生にプログラムを作ってもらうにしても、自分で原因を特定するチカラは必要になってきます。
参考サイト
複数の文字コード方式に一括変換 | エンコード / デコード ツール
複数の文字コード方式に一括して変換されるため、エンコーディングを気にせず使用できます。