Addressed various unicode related issues.

Note this is using recent changes from text_filter library.
This commit is contained in:
2015-10-20 18:49:40 +02:00
parent 3f4e70b98c
commit a84f86d7a2
11 changed files with 58 additions and 26 deletions

View File

@@ -9,17 +9,20 @@ class
inherit
CMS_STORAGE_SQL
redefine
sql_read_date_time, sql_read_integer_32
sql_read_date_time, sql_read_integer_32,
sql_read_string_32
end
CMS_CORE_STORAGE_SQL_I
redefine
sql_read_date_time, sql_read_integer_32
sql_read_date_time, sql_read_integer_32,
sql_read_string_32
end
CMS_USER_STORAGE_SQL_I
redefine
sql_read_date_time, sql_read_integer_32
sql_read_date_time, sql_read_integer_32,
sql_read_string_32
end
SQLITE_BIND_ARG_MARSHALLER
@@ -227,6 +230,7 @@ feature -- Operation
local
k: READABLE_STRING_GENERAL
k8: STRING
utf: UTF_CONVERTER
do
create Result.make (a_params.count)
across
@@ -236,11 +240,12 @@ feature -- Operation
if k.is_valid_as_string_8 then
k8 := k.as_string_8
else
k8 := (create {UTF_CONVERTER}).utf_32_string_to_utf_8_string_8 (k)
k8 := utf.utf_32_string_to_utf_8_string_8 (k)
end
if attached {DATE_TIME} ic.item as dt then
Result.force (new_binding_argument (date_time_to_string (dt), ":" + k8))
elseif attached {READABLE_STRING_32} ic.item as s32 then
Result.force (new_binding_argument (utf.utf_32_string_to_utf_8_string_8 (s32), ":" + k8))
else
Result.force (new_binding_argument (ic.item, ":" + k8))
end
@@ -363,6 +368,19 @@ feature -- Access
end
end
sql_read_string_32 (a_index: INTEGER): detachable STRING_32
-- <Precursor>
local
utf: UTF_CONVERTER
do
Result := Precursor (a_index)
if Result = Void then
if attached sql_read_string (a_index) as s8 then
Result := utf.utf_8_string_8_to_string_32 (s8)
end
end
end
sql_read_integer_32 (a_index: INTEGER): INTEGER_32
-- Retrieved value at `a_index' position in `item'.
local