AS400 IT備忘録

AS400/IBMi DBCSでないフィールドの文字化け

投稿日:

PHPでデータを引っ張る際、お決まりの

 

 

をしているのだが、今回引っ張った文字がなぜか文字化けしていた。

 

なんだろなと思って見ていたら、2バイト文字が文字化けしているようだ。

 

普通は上記の呪文を使えばちゃんと変換されるはずなのだが、なんだろなと思って調べてみる。

 

でも何度調べても原因がわからない。別のカラムの文字はちゃんと表示しているのに、このカラムだけ文字化け。謎だ・・。

 

で調べること10分ほど。テーブルを作るときこのカラムだけDBCS(日本語専用フィールド)にしていなかったのが原因みたい。

 

いわゆるオープンフィールドと言われる、テーブルを作るときにカラムに指定するOの文字。

 

これを付けていなかったから2バイトで1文字で扱われなかったみたい。

 

これ、テーブルを作り直せばいいのだろうけど、作り直すのって面倒だなと思って調べていたら、いいのがあった。

 

SQLのときにCASTという呪文使えば直ったので備忘録として載せておきます。

 

 

これでうまくいった。めでたしめでたし。

スポンサーリンク




スポンサーリンク




-AS400, IT備忘録

執筆者:


comment

Your email address will not be published. Required fields are marked *

関連記事

Windows アンインストールの形跡調査

Windowsはある程度のログを残しているので、イベントや警告やインストールやアンインストールの情報など取ることができる。   やり方は 「Winキー」+「Rキー」を押し 小窓に「perfm …

AS400/IBMi Laravel-Excelで文字化けするので文字コードを変換する

Laravel-Excelというのを見つけたので使ってみたのだが、いかんせんAS400だと色々と面倒くさい。   AS400はEBCDICという文字コードらしく、そこからODBCかPDOで引 …

MacにACSを入れると固まったので対処法

MacにACSを入れて5250セッションを立ち上げてIBM iに接続したら、 意味不明な固まり方をしたので対処法を載せておきます。   固まった症状 エミュレータは立ち上がります。画面やフォ …

Vimエディタ 簡単な説明

Windowsではテキストファイルを編集するとき、メモ帳やTeraPadなどを使いますが、LinuxではVimというのを使います。   たかがテキストの編集だろと思ったら大間違い。 何も知ら …

AS400/IBMi QRYプログラムからSQL文を生成

あまり意味ないかもしれないけど、備忘録。 使用しているQRY/400の定義からSQL文を逆算して出力する方法。   まずSQLソースファイルを作る。逆算したSQL文を置く場所ですね。 CRT …

Adsense広告


文字で検索

人気記事

なぜだか人気記事

読んでほしい順に