Re: FW_SetUnicode( .T. ) 2-Byte characters
Posted: Mon Jun 26, 2023 4:45 pm
karinha,
nothing changed, the chars ÄÜÖß are misinterpreted:
nothing changed, the chars ÄÜÖß are misinterpreted:
www.FiveTechSoft.com
https://fivetechsupport.com/forums/
Code: Select all | Expand
LOCAL cLangCode := "DE"
LOCAL cCodepage := "DEWIN"
FW_SetUnicode( .T. ) // use UniCode
hb_LangSelect( cLangCode )
hb_CDPSELECT( cCodepage )
Code: Select all | Expand
PROCEDURE DoSetNewCP( cPathcFile, cCodepage, cAlias, oBrw )
LOCAL cVia
IF EMPTY( cAlias )
hb_CDPSELECT( TRIM( cCodepage ) )
oBrw:Refresh()
ELSE
IF SP_cInxExt() = "CDX"
cVia := "DBFCDX"
ELSE
cVia := "DBFNTX"
ENDIF
CLOSE
IF SP_lShared()
USE (cPathcFile) VIA (cVia) NEW SHARED ALIAS (cAlias) CODEPAGE TRIM(cCodepage)
ELSE
USE (cPathcFile) VIA (cVia) NEW EXCLUSIVE ALIAS (cAlias) CODEPAGE TRIM(cCodepage)
ENDIF
ENDIF
RETURN
Code: Select all | Expand
Dec Hex UTF-8 Char Unicode description
---------------------------------------------------------------------------------------
216 U+00D8 C3 98 Ø Latin Capital Letter O With Stroke
Can confirm this behavior for Harbour.frose wrote:cannot confirm this behavior for Harbour.Uwe.Diemer wrote:same Prob here with unicode
I want move to Harbour from xHarbour
My getfield blocks if itype "Müller" t stops at "Mü"
U.diemer using ads Server 12.2
Uwe, try example from this thread
Code: Select all | Expand
function Main()
local oDlg
local oGet
local oEdit
local oMulti
local oMemo
local cVar1 := "üäö"
local cVar2 := "üäö"
local cVar3 := "üäö"
local cVar4 := "üäö"
REQUEST HB_CODEPAGE_UTF8
HB_CDPSELECT( "UTF8" )
FW_SetUnicode( .T. )
DEFINE DIALOG oDlg SIZE 600, 600 PIXEL TRUEPIXEL
@ 20, 20 GET oGet VAR cVar1 SIZE 200,20 PIXEL OF oDlg VARCHAR 20
@ 40,20 EDIT oEdit VAR cVar2 SIZE 200,20 PIXEL OF oDlg
@ 60, 20 GET oMulti VAR cVar3 MULTILINE SIZE 200, 50 PIXEL OF oDlg
@ 120, 20 GET oMemo VAR cVar4 MEMO OF oDlg PIXEL SIZE 400, 100
@ 240, 20 BUTTON "CHECK" SIZE 100,40 PIXEL OF oDlg ;
ACTION MsgInfo( ;
"oGet/TGet(): " + cVar1 + " - " + StrToHex( cVar1, " " ) + CRLF + CRLF + ;
"oEdit/TEdit(): " + cVar2 + " - " + StrToHex( cVar2, " " ) + CRLF + CRLF + ;
"oMulti/TMultiGet(): " + cVar3 + " - " + StrToHex( cVar3, " " ) + CRLF + CRLF + ;
"oMemo/TMultiGet(): " + cVar4 + " - " + StrToHex( cVar4, " " ) ;
)
ACTIVATE DIALOG oDlg CENTERED
RETURN NIL
Code: Select all | Expand
#include "fivewin.ch"
function Main()
local oDlg
local oGet
local oEdit
local oMulti
local oMemo
local cVar1 := "üäö" + Replicate( " ", 25 )
local cVar2 := "üäö"
local cVar3 := "üäö"
local cVar4 := "üäö"
REQUEST HB_CODEPAGE_UTF8
HB_CDPSELECT( "UTF8" )
FW_SetUnicode( .T. )
DEFINE DIALOG oDlg SIZE 600, 600 PIXEL TRUEPIXEL
@ 20, 20 GET oGet VAR cVar1 SIZE 200,20 PIXEL OF oDlg
@ 40, 20 EDIT oEdit VAR cVar2 SIZE 200,20 PIXEL OF oDlg
@ 60, 20 GET oMulti VAR cVar3 MULTILINE SIZE 200, 50 PIXEL OF oDlg
@ 120, 20 GET oMemo VAR cVar4 MEMO OF oDlg PIXEL SIZE 400, 100
@ 240, 20 BUTTON "CHECK" SIZE 100,40 PIXEL OF oDlg ;
ACTION MsgInfo( ;
"oGet/TGet(): " + cVar1 + " - " + StrToHex( cVar1, " " ) + CRLF + CRLF + ;
"oEdit/TEdit(): " + cVar2 + " - " + StrToHex( cVar2, " " ) + CRLF + CRLF + ;
"oMulti/TMultiGet(): " + cVar3 + " - " + StrToHex( cVar3, " " ) + CRLF + CRLF + ;
"oMemo/TMultiGet(): " + cVar4 + " - " + StrToHex( cVar4, " " ) ;
)
ACTIVATE DIALOG oDlg CENTERED
RETURN NIL