As I Please

MTのいんすとーるの練習と、その他びぼうろく・・・

タグ「perl utf8 Encode JSON mysql」が付けられているもの


JSON作成: mysql DB と file からのデータ取り出しで・・・

jsonp を perl ( module JSON) でDBの値やファイルの日本語の string を連結等を行って作成しようとしたら、また日本語 (utf8 flag)ではまった。のでメモ。

  • script は UTF-8 で書き、use utf8 を書いて、scritpの内部の日本語は utf8フラグをつける。
  • DBD::mysql で charset utf8 でやりとりしたデータは hash,scaler ともに utf8 フラグがない。
  • require で読み込んだperl.pm (日本語文字含む)については、use utf8 をつけるとutf8 フラグがつく。 use utf8 が無いと、utf8 フラグがつかない。
  • utf8で書かれた、JSONファイルを スカラーで読み込み、decode_json($) したものについては utf8フラグがある。

ということになっていた。
今回は、ファイルで取り込んだ文字列は すべてutf8::encode($foo); で utf8フラグを落として使った。
また、最終出力は、 print JSON->new->encode($jsonstr) として出力。


モジュールを使った入出力は、丁寧に utf8::is_utf8 を使って、どこでフラグが立っているのか、立っていないのかを調べてから作業したほうが結局早かったかも。
require するときは、そのファイルに日本語が含まれるなら、use utf8 を書くべきかも。

JSON作成: mysql DB と file からのデータ取り出しで・・・

jsonp を perl ( module JSON) でDBの値やファイルの日本語の string を連結等を行って作成しようとしたら、また日本語 (utf8 flag)ではまった。のでメモ。

  • script は UTF-8 で書き、use utf8 を書いて、scritpの内部の日本語は utf8フラグをつける。
  • DBD::mysql で charset utf8 でやりとりしたデータは hash,scaler ともに utf8 フラグがない。
  • require で読み込んだperl.pm (日本語文字含む)については、use utf8 をつけるとutf8 フラグがつく。 use utf8 が無いと、utf8 フラグがつかない。
  • utf8で書かれた、JSONファイルを スカラーで読み込み、decode_json($) したものについては utf8フラグがある。

ということになっていた。
今回は、ファイルで取り込んだ文字列は すべてutf8::encode($foo); で utf8フラグを落として使った。
また、最終出力は、 print JSON->new->encode($jsonstr) として出力。


モジュールを使った入出力は、丁寧に utf8::is_utf8 を使って、どこでフラグが立っているのか、立っていないのかを調べてから作業したほうが結局早かったかも。
require するときは、そのファイルに日本語が含まれるなら、use utf8 を書くべきかも。

JSON作成: mysql DB と file からのデータ取り出しで・・・

jsonp を perl ( module JSON) でDBの値やファイルの日本語の string を連結等を行って作成しようとしたら、また日本語 (utf8 flag)ではまった。のでメモ。

  • script は UTF-8 で書き、use utf8 を書いて、scritpの内部の日本語は utf8フラグをつける。
  • DBD::mysql で charset utf8 でやりとりしたデータは hash,scaler ともに utf8 フラグがない。
  • require で読み込んだperl.pm (日本語文字含む)については、use utf8 をつけるとutf8 フラグがつく。 use utf8 が無いと、utf8 フラグがつかない。
  • utf8で書かれた、JSONファイルを スカラーで読み込み、decode_json($) したものについては utf8フラグがある。

ということになっていた。
今回は、ファイルで取り込んだ文字列は すべてutf8::encode($foo); で utf8フラグを落として使った。
また、最終出力は、 print JSON->new->encode($jsonstr) として出力。


モジュールを使った入出力は、丁寧に utf8::is_utf8 を使って、どこでフラグが立っているのか、立っていないのかを調べてから作業したほうが結局早かったかも。
require するときは、そのファイルに日本語が含まれるなら、use utf8 を書くべきかも。