回答編集履歴
2
引用範囲を修正
test
CHANGED
@@ -172,9 +172,11 @@
|
|
172
172
|
|
173
173
|
> 判定したい目的)
|
174
174
|
|
175
|
-
|
175
|
+
文字化け後の文字がファイル名に使えるかどうか判定したいから
|
176
176
|
|
177
|
-
|
177
|
+
(半角ハテナはファイル名に使用不可、全角は使用可)
|
178
|
+
|
179
|
+
|
178
180
|
|
179
181
|
という理由なら、本回答で例示した変換表をもって事前変換するか、処理の都度検証コードでも書いた`select :var from dual`をOracle側に投げて変換後の文字列を事前取得。それをもってファイル名のバリデーションをかければいいのではないかと。
|
180
182
|
|
1
8/4 追記を受けてコメント追加
test
CHANGED
@@ -165,3 +165,17 @@
|
|
165
165
|
|
166
166
|
|
167
167
|
なお、上のコードはOracle.ManagedDataAccessで実行した結果で、クライアント側のドライバが変わると結果が変わる可能性があるので、質問者さんのほうでも個別検証して結果を取得すべきと思います。
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
### 8/4 追記を受けて
|
172
|
+
|
173
|
+
> 判定したい目的)
|
174
|
+
|
175
|
+
> 文字化け後の文字がファイル名に使えるかどうか判定したいから
|
176
|
+
|
177
|
+
> (半角ハテナはファイル名に使用不可、全角は使用可)
|
178
|
+
|
179
|
+
という理由なら、本回答で例示した変換表をもって事前変換するか、処理の都度検証コードでも書いた`select :var from dual`をOracle側に投げて変換後の文字列を事前取得。それをもってファイル名のバリデーションをかければいいのではないかと。
|
180
|
+
|
181
|
+
前述したとおりクライアントによって変換の仕様が異なるので試しに投げてみるのが一番だと考えます。
|