среда, 13 марта 2013 г.

Удалить BOM маркер из UTF файлов

Многие продукты при работе с UTF файлами не корректно работают если присутствует на нем BOM маркер. В моей работе частенько приходят файлы, сформированные из Microsoft Visual Studio с указанным префиксом. Для лечения сделал небольшой VBScript:

' Removes the Byte Order Mark - BOM from a text file with UTF-8 encoding
' The BOM defines that the file was stored with an UTF-8 encoding.
Public function RemoveBOM(filePath)
  ' Create a reader and a writer
  Dim writer,reader, fileSize
  Set writer = CreateObject("Adodb.Stream")
  Set reader = CreateObject("Adodb.Stream")
  ' Load from the text file we just wrote
  reader.Open
  reader.LoadFromFile filePath
  ' Copy all data from reader to writer, except the BOM
  writer.Mode=3
  writer.Type=1
  writer.Open
  reader.position=5
  reader.copyto writer,-1
  ' Overwrite file
  writer.SaveToFile filePath,2
  ' Return file name
  RemoveBOM = filePath
  ' Kill objects
  Set writer = Nothing
  Set reader = Nothing
end Function

Set objArgs = WScript.Arguments
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(objArgs(0))
Set colFiles = objFolder.Files
For Each objFile in colFiles
  RemoveBOM(objArgs(0) + "\" + objFile.Name)
Next
WScript.Echo "Ok"
Использовать просто - перетянуть папку, в которой живут неправильные файлы, на этот скрипт.

понедельник, 11 февраля 2013 г.

PostgreSQL & WebLogic

Появилась задача в Oracle SOA Suite выбирать дополнительную информацию из СУБД PostgreSQL. Заглянув в настройки создания нового JDBC-подключения для WebLogic сначала обрадовался когда в поле Database Type нашел пункт "PostgreSQL". Но на этапе тестирования нового подключения получил ошибку - модуль org.postgresql.Driver не найден.

Ниже краткая инструкция, как добавить драйвер в WebLogic.

среда, 3 октября 2012 г.

Хаки АБС Б2

Узнал хак для АБС Б2, который очень полезен для тестирования и доработки функционала продукта. В рабочем окне необходимо нажать кнопку тильды "~", в результате появится маленькое окошко для ввода текста. Вводим только один символ "z" и жмем Enter. Получаем волшебное окно "Debug". Дальше уже все понятно.
Для активации данной возможности необходимо, чтобы в директории ADDINS был модуль Pb2Tracer.bpl и конфигурационный файл к нему Pb2Tracer.add.


Большое спасибо разработчикам!

П.С.: На продуктивной среде данную функцию включать не рекомендую!

UPD: Содержимое файла Pb2Tracer.add
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<taskmap>
<modulelist>
    <module name="b2Tracer" type="cs-plugin" filename="ADDINS\Pb2Tracer.bpl" load="startup"/>
</modulelist>
<tasklist/>
</taskmap>