【#JQUERY】PHPでBASE64エンコード,JavaScriptでデコードした,HTML内全角が化ける件
関連記事
- 難解なソースを追っかけてるけど謎多すぎで頭痛中(汗 脳血管が吹っ飛びかけらしい 【2024年06月21日(金)】
- 【#apache #PHP】apacheが立ち上がらなくなったー「アクセス許可で禁じられた方法でソケットにアクセスしようとしました」エラー発生 【2024年04月16日(火)】
- 【#Laravel #PHP】久しぶりにLaravelと格闘しておるがすっかり忘れちょる(汗 【2024年04月12日(金)】
- 【PHP】PHPのバージョンをアップしたら,「tcpdf」フレームワークがエラー吐きまくりで,こっちまで吐きそうになった 【2024年01月10日(水)】
- 【#PostgreSQL #laravel】サーバのお引っ越し作業 オワタ 【2022年09月27日(火)】
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の世界は奥が深い...モルモルモル
コメント
【#地震】霧島山で有感地震 生駒高原のあたりか?(24/9/6)
奄美大島のマングース 環境省が根絶宣言
生ぬるい西風が吹いてるのぉ.大陸気団の南下はまだかっ!
【#台風】台風10号:台風に関する特別警報 発令予告が出た!鹿児島,宮崎(24/8/28)
【#台風】#台風10号:屋久島に線状降水帯が発生(24/8/28)
【#台風】養生テープ貼った(2年ぶり3回め)柿ピーも買ってきた!
今日も体調が悪いの.暑くないのに汗が酷い
【#台風】台風10号発達予想が増えてきたの.紀伊水道890hPaでの直撃予想まで出てるヤバス(24/8/22)