【#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の世界は奥が深い...モルモルモル
コメント
【#HTVX】新型宇宙輸送船HTV-X 油井さんがロボットアームでキャッチ
【冬】来週11℃予想とか出てきてる.秋があったのか,今年(25/10/23)
【ツル】出水平野に冬の訪れを告げるツル第一陣・今季初飛来 鹿児島(25/10/21)
都城でプロ野球・ロッテ1軍が春季キャンプ実施へ
山形で開催の映画祭 監督など国内外の参加者が“芋煮”味わう
連休なんで生駒高原でコスモスを愛でてきた
連休の中日ですの.天気は良くなる方向じゃげ
【大リーグ】大谷翔平 先頭打者HR ワイルドカードシリーズ
10月に入りましたなぁ.今年もあと90日ちょっと,早い!