【#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の世界は奥が深い...モルモルモル
コメント
兵庫 城崎温泉 旅館で火事 ほぼ消し止められる
東海道新幹線 停電のため運転見合わせ 区間が拡大 原因調査中
【霧島山】新燃岳:活発化してた火山性地震,ピタッと止まった(25/4/26)
今日は落雷,ひょうに厳重警戒じゃげな(25/4/14)
中日本高速道路 ETCシステム障害 7都県 一部の専用レーン閉鎖(25/4/6)
iPhone米価格は相互関税で30─40%上昇か、上位機種は2300ドルも
【地震】大隅半島東方沖で地震:宮崎市などで震度4 津波の心配なし(25/4/3)
「ジャパニーズウイスキー」の基準“法律で明確化を”業界団体
【#桜】国富:大坪の一本桜を見物に行った!咲いてなかったドロドロドロ(25/3/22)