
RSSから取得した文字を、phpからmysqlに投げようとすると、mysqlに格納された時点でエスケープ文字に変換されてしまいます。
具体的には
「暮らし上向く? 予算成立Q&A」 ←この文字列を入れようとすると
「暮らし上向く? 予算成立Q&A」 ←こんな感じでエスケープ文字に変換されてしまいます。
何が問題なのでしょうか?
はてなマークなどが入っていると問題なのでしょうか?
ご回答よろしくおねがいいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
DBの検索性を考えると、通常文字の方がヒットさせやすいでしょうね
逆にその文字列を検索の対象にしないのであれば、
どちらでもいいのでは?
今回の例だと「&」を「&」に変換するかどうかにもよります。
No.1
- 回答日時:
>mysqlに格納された時点でエスケープ文字
まず考えられるのはRSSから受け取った時点で最初から「&#・・・・」という
文字だった可能性があります。
もう一つはmysqlに投入する際になんらかのエンコード処理をいれているかもしれません。
実際に、以下のようにやると、指定の文字が変換されるのがわかります。
<?PHP
$str="暮らし上向く? 予算成立Q&A";
$str=htmlspecialchars($str);
$str=mb_convert_encoding($str,"HTML-ENTITIES","utf8");
$str=htmlspecialchars($str);
//ホントは最後の変換はいらないけどエスケープ状態で表示したいのであえて変換。
print $str;
?>
具体的にどのようにmysqlに投入し、投入したデータをどのように取り出して
表示したのか検証が必要です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- フリーソフト フォルダ、ファイル名の一括変換について 3 2023/03/16 09:23
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- その他(プログラミング・Web制作) 変換のプログラムを教えてください。 6 2023/07/01 09:57
- Visual Basic(VBA) Excel VBAでAA(BBB) → BBB.AA に置換したい 2 2022/10/30 13:59
- Excel(エクセル) エクセルの日付から年末尾2桁と月を1月をA~Lに変換したい 3 2022/08/08 10:32
- PHP c言語 文字 - '1'+26 3 2022/03/26 20:58
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CString型からdouble型への変換
-
文字列を quoted-printable 文...
-
テキストをhtml変換するには
-
CString から LPCTSTRの型に変換
-
文字コードの%E3%80%とは何です...
-
文字コード(多言語化?)の取り...
-
SQLのデータで半角カナを全角に...
-
シェルスクリプトで文字列置換
-
これはなんの文字コードでしょうか
-
Delphiの型変換
-
MacからWindowsへiTunesのデー...
-
SJIS->UTF8->SJISコード変換に...
-
LINUX上でシリアル通信(C++)
-
漢数字の変換
-
五十音の並べ替えsortを教えて...
-
vbwide(半角⇒全角変換)について
-
漢字からカタカナ変換マクロ
-
エクセルでの漢字(全角ひらが...
-
ローマ字からカナに変換する方...
-
VB6にも「ToString」ってあり...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CString から LPCTSTRの型に変換
-
Excel VBAでPDFファイルをMicro...
-
文字コードの%E3%80%とは何です...
-
SQLのデータで半角カナを全角に...
-
CString型からdouble型への変換
-
VBScript文字列をSJISからUTF8...
-
ローマ字からカナに変換する方...
-
テキストをhtml変換するには
-
gccでiconvを使った文字コード...
-
SJIS->UTF8->SJISコード変換に...
-
エクセルでの漢字(全角ひらが...
-
文字列を quoted-printable 文...
-
VB6にも「ToString」ってあり...
-
VBScript 全角英数記号→半角英...
-
16進数の文字列を文章に変える
-
Delphiの型変換
-
文字列が勝手にエスケープ文字...
-
ウイザードからのVBAでクエリー...
-
【PHP】全角記号を半角記号...
-
文字コードの変換によるレイア...
おすすめ情報
>>RSSから受け取った時点で最初から「&#・・・・」という文字だった可能性があります。
これは既に検証しましたが違いました・・(受け取った変数をecho関数で出力しましたが正常でした)
ご指摘の通りソースの方がHTMLエンティティになっていました。
こういう場合は毎回、rssから受け取った時点で「htmlspecialchars_decode」のような関数でデコード処理をかけるのが普通なのでしょうか?