QJava18 (Java21 LTS版) からデフォルトエンコーディングが変更になった影響はありますか
A回答
影響について
Java 18 (Java21 LTS版)よりデフォルトのエンコーディングが「OSのエンコーディング」から「UTF-8」に変更されました。・JEP 400: UTF-8 by Default
biz-Stream でデフォルトエンコーディングが変更になったことによる影響として、「CSVファイル出力機能」へ影響がある場合があります。 例として 以下の2つの条件を満たす場合は以前のJavaの出力結果と異なります。
- Windows系OS にてbiz-Streamを実行している
- CSVファイル出力機能で、ファイルのエンコーディングを未指定にしている
CSVファイル出力機能をご利用の場合
お客様のアプリケーションが上記条件の2に該当するかご不明な場合は、CSV出力ガイドの「3.1.2 基本的なコーディング方法」をご覧いただき、アプリケーションで「csv.setCharacterEncoding("XXX")」のように出力ファイルのエンコーディングが明示的に指定されているかをご確認ください。
CSVファイル出力機能を利用していない、既に指定がある場合は対処は不要です。指定が無い場合は明示的にエンコーディングを指定してください。
レイアウト・デザイナでレイアウトファイルを作成される場合
レイアウト・デザイナ機能をご利用されている場合のみ、併せてこちらをご参照ください。レイアウト・デザイナでは、インストール時に<bs_designer_home>/jreが同梱されており、<bs_designer_home>/setenv.batでこのjreを利用する設定になっています。 最新バージョンのレイアウト・デザイナv5.2.0では Java17 を利用する設定になっており、このデフォルトの状態で利用する場合は対応は不要です。
setenv.bat
set BIZLD_HOME=.
set PATH=./jre/bin
set BIZLD_JDBC_PATH=%BIZLD_JDBC_PATH%
set BIZLD_JDBC_PATH=%BIZLD_JDBC_PATH%;./lib_jdbc/*
set CLASSPATH=%CLASSPATH%;.
set CLASSPATH=%CLASSPATH%;./config/
set CLASSPATH=%CLASSPATH%;./lib/*
set CLASSPATH=%CLASSPATH%;%BIZLD_JDBC_PATH%
この設定により Java17 以前と同じエンコードでレイアウト・デザイナを起動するようになります。
BizStudio.bat
@echo off
call setenv
start /b javaw -Dfile.encoding=COMPAT -Xms128m -Xmx512m BizStudio
- レイアウト・デザイナ起動時に<bs_designer_home>/config/dafault_value.properties の base_dir の日本語文字列をUnicode文字列に変換しています。レイアウト・デザイナを起動するJavaのエンコードが変わると変換時に文字化けが発生してしまい、PDFプレビュー時にエラーになります。(レイアウト・デザイナv5.2.0 の制限事項)
biz-Stream Webサービスサーバをご利用の場合
biz-Stream Webサービスサーバについては、サポート環境が「指定のApache Tomcatのバージョン +指定のJavaのバージョン」の組み合わせとなるため、Java だけを新しいバージョンに入れ替えた状態でのサポートは行っておりません。
- 1.4 biz-Stream Webサービスサーバのサポート環境を参照してください。
CSVファイルをデータソースとしてPDFを生成している場合
biz-StreamでPDFを生成する際に、データソースとしてCSVファイルを使用している場合はこちらもご参照ください。
PDF出力ガイド「3.4 サンプルプログラム(2-1) - CSVファイルをデータソースとしてPDFを生成」の
「 xml.setDataSource("csv-resource","${base-dir}/sample/java/Sample2-other.csv", "UTF-8")」のように、ファイルエンコーディングが明示的に指定されていれば影響はありません。
なお、アプリケーションでエンコーディングを指定しない場合はドキュメントレイアウトで指定したエンコーディングが有効になり、ドキュメントレイアウトでも指定しない場合は default_values.properties の csv_encoding が有効になります。いずれかで指定されていれば影響はありません。
- 製品概要
- レイアウト・デザイナ ガイド
- レイアウト・デザイナ for Excel ガイド
- XMLドキュメントレイアウトタグ リファレンス
- XMLページレイアウトタグ リファレンス
- レイアウトサンプル
- テンプレート
- ライブラリ共通ガイド
- PDF出力ガイド
- Excel出力ガイド
- CSV出力ガイド
- javadoc - Javaライブラリ apidoc
- ダイレクト印刷ガイド
- バッチ印刷ガイド
- ヘルスチェッカーガイド
- Webサービスサーバ ガイド
- クラウドストレージ出力
- javadoc - soap apidoc (コンテンツ生成)
- javadoc - soap apidoc (コンテンツ管理)
- アプリケーションサンプル