#set testval "\u00e9\u00e7\u00e8\u00f5" set testval "abcdef" proc debugstr {label str} { puts "\n$label: $str" puts " length: [string length $str]" puts " bytelen: [string bytelength $str]" } proc testread {} { mk::file open test test.db mk::view layout test.t {contents} set val [mk::get test.t!0 contents] mk::file close test return $val } # create db and store initial value catch {file delete -force test.db} mk::file open test test.db mk::view layout test.t {contents} mk::row append test.t contents $testval debugstr "wrote" $testval mk::file commit test.t mk::file close test # try to read value using proc debugstr "get from proc" [testread] # same code as in proc, but inline mk::file open test test.db mk::view layout test.t {contents} set val [mk::get test.t!0 contents] mk::file close test debugstr "inline get" $val # one more time from proc.. order doesn't matter debugstr "get from proc again" [testread] puts "\n-----------------------" puts "Tcl version $tcl_patchLevel" parray tcl_platform