【#JQUERY】PHPでBASE64エンコード,JavaScriptでデコードした,HTML内全角が化ける件
関連記事
- 【PHP】PHPのバージョンをアップしたら,「tcpdf」フレームワークがエラー吐きまくりで,こっちまで吐きそうになった 【2024年01月10日(水)】
- 【#PostgreSQL #laravel】サーバのお引っ越し作業 オワタ 【2022年09月27日(火)】
- 【#laravel】ログイン系の処理が仕上がった!あとはひたすら画面作りモルモルモル 【2021年07月23日(金)】
- 【#Javascript】Web版「Excel」の新しいマクロ機能「Office スクリプト」が一般リリース 【2021年05月31日(月)】
- 【#Laravel】laravel-echo&JS&オレオレ証明書の組み合わせで動かん! 【2021年05月31日(月)】
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/3/26)
【#大谷翔平】米NBC 水原一平氏の学歴詐称を報道
【#桜】国富:大坪の一本桜を眺めてきた.天気が悪かったモルモルモル
【#緊急非常事態】スマホを紛失した!amazonで買ったカナビラがぶっ壊れてスマホが消えた!
【#暴風】んにしても風が強い!宮崎空港で最大瞬間風速20m/s (24/3/20)
「君たちはどう生きるか」「ゴジラ-1.0」アカデミー賞を受賞
昼から雨だそうな.人が洗車すると..ブツブツ