@@ -5135,21 +5135,47 @@ public void getDataValueByBoolByMySQL(Object opam)
51355135 String va_payload = MySQL . ver_value . Replace ( "{data}" , data_payload ) ;
51365136 String colvalue = "" ;
51375137
5138+ //获取值
51385139 for ( int i = 1 ; i <= len ; i ++ )
51395140 {
5140- String tmp_va_payload = va_payload . Replace ( "{index}" , i + "" ) ;
5141- int ascii = 0 ;
5141+ String tmp_va_payload = MySQL . ord_value . Replace ( "{data}" , data_payload ) . Replace ( "{index}" , i + "" ) ;
5142+ String plen = MySQL . ver_length . Replace ( "{data}" , tmp_va_payload ) ;
5143+ int mu_payload_len = 0 ;
5144+ //MySQL多字节ord,先判断ord后的长度,在取每一个的值
51425145 if ( config . keyType . Equals ( KeyType . Time ) )
51435146 {
5144- ascii = getValue ( tmp_va_payload , 0 , 127 ) ;
5147+ mu_payload_len = getValue ( MySQL . getBoolDataBySleep ( MySQL . char_len . Replace ( "{data}" , tmp_va_payload ) , config . maxTime ) , 2 , 8 ) ;
51455148 }
51465149 else
51475150 {
5148- ascii = getValue ( tmp_va_payload , 0 , 127 ) ;
5151+ mu_payload_len = getValue ( plen , 2 , 8 ) ;
51495152 }
5150- colvalue += ( ( char ) ascii ) . ToString ( ) ;
5153+
5154+ //判断ord转换后的字符长度
5155+
5156+ int m_index = 1 ;
5157+ String [ ] ver_tmp = new String [ mu_payload_len ] ;
5158+ while ( m_index <= mu_payload_len )
5159+ {
5160+
5161+ int ascii = 0 ;
5162+ if ( config . keyType . Equals ( KeyType . Time ) )
5163+ {
5164+ ascii = getValue ( MySQL . getBoolDataBySleep ( MySQL . mid_value . Replace ( "{data}" , tmp_va_payload ) . Replace ( "{index}" , m_index + "" ) , config . maxTime ) , 0 , 9 ) ;
5165+ }
5166+ else
5167+ {
5168+ ascii = getValue ( MySQL . bool_ord_value . Replace ( "{data}" , tmp_va_payload ) . Replace ( "{index}" , m_index + "" ) , 0 , 9 ) ;
5169+ }
5170+ ver_tmp [ m_index - 1 ] = ascii + "" ;
5171+ m_index ++ ;
5172+ }
5173+ //设置值,这里由于是hex值,需要转换
5174+ String hexstring = Tools . convertToString ( ver_tmp ) ;
5175+ String hexvalue = Convert . ToString ( int . Parse ( hexstring ) , 16 ) ;
5176+ colvalue += Tools . unHex ( hexvalue , config . db_encoding ) ;
5177+
51515178 }
5152-
51535179 if ( lvi == null )
51545180 {
51555181 lvi = new ListViewItem ( colvalue ) ;
0 commit comments