【#JQUERY】PHPでBASE64エンコード,JavaScriptでデコードした,HTML内全角が化ける件
関連記事
- 【ChatGPT o4】祝日なのに仕事ーバテすぎー今夜こそ絶命だーモルモルモル 【2025年03月20日(木)】
- 【#ChatGPT】WordPressサーバにバイナリファイルをアップするシステムをChatGPTさんに聞きまくりじゃった 【2025年03月04日(火)】
- 難解なソースを追っかけてるけど謎多すぎで頭痛中(汗 脳血管が吹っ飛びかけらしい 【2024年06月21日(金)】
- 【#apache #PHP】apacheが立ち上がらなくなったー「アクセス許可で禁じられた方法でソケットにアクセスしようとしました」エラー発生 【2024年04月16日(火)】
- 【#Laravel #PHP】久しぶりにLaravelと格闘しておるがすっかり忘れちょる(汗 【2024年04月12日(金)】
HTMLで表示する画面がほとんど一緒(ボタン押したら変化させる仕様)
なら,変更分だけ,PHP側でHTML組み立てて
Base64化
ボタン押すたんびに,AJAXさせてPost受け取り
J-QUERYでDOMを差し替えるか...
って,実装してみた
んで,動くことは動く,が全角が化ける...ドロドロドロ
あれ?PHP側,UTF-8で保存してない?
ってことで,UTF-8保存し直しても全角が化ける...ドロドロドロ
JavaScript側の問題じゃな,こりゃ
ってなって,調べてみたら
JavaScriptの文字列エンコード,UTF-32じゃねぇ~か!(爆
そりゃ,化ける
修正前と修正後のコード
var htmlBase64 = record.html; //<-- AJAX postで受け取ったhtml部品をBase64化した文字列 //var htmlParts = $.base64.decode(htmlBase64); //<-- 最初のエンコード J-Queryで片付けたら失敗 var htmlParts = decodeURIComponent(escape(window.atob(htmlBase64))); //<--うまくいくエンコード バイナリ化してエスケープの上 decodeURIComponent()を通せ,だそうな var parentObj = $("#JobArea"); //<--差し込むHTMLのエリア parentObj[0].innerHTML = htmlParts; //<--差し込み処理相変わらずJavaScriptの世界は奥が深い...モルモルモル
コメント
【大地震】カムチャツカ半島沖合で地震 マグニチュード7.5と推定(25/9/13)
台風一過なのに今日も猛暑予想.秋が来ないぞい
【霧島山】新燃岳が噴火 噴煙高度火口上5500m(25/8/28)
日産「GT-R」生産終了 スポーツカーの開発環境 厳しさ増す
火球か?隕石か?「夜なのに明るく」「カメラが真っ白になるほどの光」九州や西日本各地で目撃あいつぐ 空気の振動も観測
ひょっとして,大規模にやらかしてました?ぎんゆぅ~さん,落ちてた模様(爆