php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #79217 Last character of a UTF-8 string gets messed up
Submitted: 2020-02-03 22:06 UTC Modified: 2020-02-06 09:19 UTC
Votes:1
Avg. Score:5.0 ± 0.0
Reproduced:0 of 0 (0.0%)
From: steve dot lloyd at gmail dot com Assigned:
Status: Open Package: ODBC related
PHP Version: 7.3.14 OS: Centos
Private report: No CVE-ID: None
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: steve dot lloyd at gmail dot com
New email:
PHP Version: OS:

 

 [2020-02-03 22:06 UTC] steve dot lloyd at gmail dot com
Description:
------------
Last character of a UTF-8 string gets messed up.  See stackoverflow URL in Test Script section.  I have tried this with multiple PHP versions.  I have concluded it must be an issue with PHP ODBC functions as it works fine in other languages (python, isql).

Test script:
---------------
https://stackoverflow.com/questions/59904479/last-character-issue-with-sap-hana-utf8-on-php

Expected result:
----------------
因采购/仓库而被冻结
因任务清单/BOM而被冻结
MPN:BOM抬头冻结
gesp. für Besch./Lager
gesp. für Arb.plan/Stückl

Actual result:
--------------
因采购/仓库而被冻ad
因任务清单/BOM而被ader
MPN:BOM抬头冻结
gesp. für Besch./Lager
gesp. für Arb.plan/Stüca

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2020-02-04 08:56 UTC] cmb@php.net
This seems to be related to bug #44278.

Can you try basically the same script with PDO_ODBC instead?
 [2020-02-04 13:09 UTC] steve dot lloyd at gmail dot com
PDO has the same problem.

test script:
--------------------
try {
	$pdo = new PDO("odbc:{$datasource}",$username, $password);
	$query = "select * from sltschema.t141t";
	$poo = $pdo->prepare($query);
	$poo->execute();
	$row = $poo->fetch(PDO::FETCH_ASSOC);
	print_r($row);
} 
catch (PDOException $e) {
  echo "Connection failed : ". $e->getMessage();
}

Result:
---------------
Array
(
    [MANDT] => 000
    [SPRAS] => 1
    [MMSTA] => 01
    [MTSTB] => 因采购/仓库而被冻tc
    [ZMODIFIEDTS] => 20200131152705439
    [ZMODIFIEDTS_TEST] => 2020-01-31 15:27:05.4380000a
)
--------------------------

The bug you referred to seemed to say this was patched but it is still an issue in PHP 7.4.  How do I patch/resolve this issue?
 [2020-02-04 16:09 UTC] steve dot lloyd at gmail dot com
Interesing bit of information: 
The field I am querying is set to nvarchar(25).  If I cast it as nvarchar(50) it works.

test query:
----------
select cast(mtstb as nvarchar(50)) mtstb  from sltschema.t141t

Results:
---------
Mtstb
因采购/仓库而被冻结
因任务清单/BOM而被冻结
MPN:BOM抬头冻结
gesp. für Besch./Lager
gesp. für Arb.plan/Stückl
 [2020-02-04 17:19 UTC] cmb@php.net
> The bug you referred to seemed to say this was patched but it is
> still an issue in PHP 7.4.

I rather think that some issues have been fixed, but likely not
all.

> The field I am querying is set to nvarchar(25).  If I cast it as
> nvarchar(50) it works.

That's interesting, since

    echo strlen('因采购/仓库而被冻结'); // 28
    echo strlen('gesp. für Arb.plan/Stückl'); // 27

So apparently either the driver or our binding (or maybe some
configuration setting) is confused by UTF-8.

I'm not sure how to debug this best.  Is there something on CentOS
like the Windows ODBC tracing?  A trace of a minimal reproduce
script could be very helpful.
 [2020-02-05 22:36 UTC] steve dot lloyd at gmail dot com
I am not an expert with trace files but I setup trace in odbcinst.ini and this is what it gave me.

---------------------
[ODBC][1986][1580941940.520704][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x55a413e11e70
[ODBC][1986][1580941940.520792][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55a413e11e70
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][1986][1580941940.520858][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][1986][1580941940.520891][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55a413e11e70
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = (nil)
			StrLen = -5
[ODBC][1986][1580941940.520915][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][1986][1580941940.520948][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x55a413e14340
[ODBC][1986][1580941940.520994][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55a413e14340
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][1986][1580941940.521054][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][1986][1580941940.521099][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55a413e14340
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = 0x2
			StrLen = -5
[ODBC][1986][1580941940.521142][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][1986][1580941940.521222][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x55a413e17250
[ODBC][1986][1580941940.521252][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55a413e17250
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][1986][1580941940.521287][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][1986][1580941940.521331][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55a413e17250
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = (nil)
			StrLen = -5
[ODBC][1986][1580941940.521384][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][1986][1580941940.521431][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x55a413e17890
[ODBC][1986][1580941940.521461][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55a413e17890
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][1986][1580941940.521484][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][1986][1580941940.521506][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55a413e17890
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = 0x2
			StrLen = -5
[ODBC][1986][1580941940.521528][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][1986][1580941940.691394][SQLFreeHandle.c][219]
		Entry:
			Handle Type = 1
			Input Handle = 0x55a413e17250
[ODBC][2004][1580941947.526540][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x55ebc43a0e70
[ODBC][2004][1580941947.526630][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55ebc43a0e70
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2004][1580941947.526694][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2004][1580941947.526725][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55ebc43a0e70
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = (nil)
			StrLen = -5
[ODBC][2004][1580941947.526748][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2004][1580941947.526776][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x55ebc43a3340
[ODBC][2004][1580941947.526807][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55ebc43a3340
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2004][1580941947.526843][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2004][1580941947.526868][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55ebc43a3340
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = 0x2
			StrLen = -5
[ODBC][2004][1580941947.526889][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2004][1580941947.526967][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x55ebc43a6250
[ODBC][2004][1580941947.526995][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55ebc43a6250
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2004][1580941947.527017][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2004][1580941947.527056][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55ebc43a6250
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = (nil)
			StrLen = -5
[ODBC][2004][1580941947.527093][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2004][1580941947.527119][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x55ebc43a6890
[ODBC][2004][1580941947.527143][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55ebc43a6890
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2004][1580941947.527164][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2004][1580941947.527186][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55ebc43a6890
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = 0x2
			StrLen = -5
[ODBC][2004][1580941947.527207][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2004][1580941947.682791][SQLFreeHandle.c][219]
		Entry:
			Handle Type = 1
			Input Handle = 0x55ebc43a6250
[ODBC][2009][1580941947.896102][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x55d2f71b9990
[ODBC][2009][1580941947.896161][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55d2f71b9990
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2009][1580941947.896185][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2009][1580941947.896212][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55d2f71b9990
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = (nil)
			StrLen = -5
[ODBC][2009][1580941947.896234][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2009][1580941947.896262][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x55d2f71bbe50
[ODBC][2009][1580941947.896297][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55d2f71bbe50
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2009][1580941947.896319][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2009][1580941947.896342][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55d2f71bbe50
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = 0x2
			StrLen = -5
[ODBC][2009][1580941947.896363][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2009][1580941947.896444][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x55d2f71458b0
[ODBC][2009][1580941947.896474][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55d2f71458b0
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2009][1580941947.896496][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2009][1580941947.896519][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55d2f71458b0
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = (nil)
			StrLen = -5
[ODBC][2009][1580941947.896541][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2009][1580941947.896565][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x55d2f7145ea0
[ODBC][2009][1580941947.896589][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55d2f7145ea0
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2009][1580941947.896610][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2009][1580941947.896636][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55d2f7145ea0
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = 0x2
			StrLen = -5
[ODBC][2009][1580941947.896657][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2020][1580941953.541473][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x565256f33eb0
[ODBC][2020][1580941953.541567][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x565256f33eb0
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2020][1580941953.541675][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2020][1580941953.541740][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x565256f33eb0
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = (nil)
			StrLen = -5
[ODBC][2020][1580941953.541784][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2020][1580941953.541844][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x565256f36380
[ODBC][2020][1580941953.541888][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x565256f36380
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2020][1580941953.541926][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2020][1580941953.541966][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x565256f36380
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = 0x2
			StrLen = -5
[ODBC][2020][1580941953.542010][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2020][1580941953.542187][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x565256f39290
[ODBC][2020][1580941953.542237][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x565256f39290
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2020][1580941953.542287][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2020][1580941953.542330][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x565256f39290
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = (nil)
			StrLen = -5
[ODBC][2020][1580941953.542369][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2020][1580941953.542415][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x565256f398d0
[ODBC][2020][1580941953.542459][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x565256f398d0
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2020][1580941953.542499][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2020][1580941953.542540][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x565256f398d0
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = 0x2
			StrLen = -5
[ODBC][2020][1580941953.542579][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2020][1580941953.712445][SQLFreeHandle.c][219]
		Entry:
			Handle Type = 1
			Input Handle = 0x565256f39290
[ODBC][2032][1580941960.533760][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x5579b6d60e70
[ODBC][2032][1580941960.533827][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x5579b6d60e70
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2032][1580941960.533946][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2032][1580941960.533983][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x5579b6d60e70
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = (nil)
			StrLen = -5
[ODBC][2032][1580941960.534007][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2032][1580941960.534053][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x5579b6d63340
[ODBC][2032][1580941960.534081][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x5579b6d63340
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2032][1580941960.534103][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2032][1580941960.534126][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x5579b6d63340
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = 0x2
			StrLen = -5
[ODBC][2032][1580941960.534147][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2032][1580941960.534245][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x5579b6d66250
[ODBC][2032][1580941960.534278][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x5579b6d66250
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2032][1580941960.534301][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2032][1580941960.534324][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x5579b6d66250
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = (nil)
			StrLen = -5
[ODBC][2032][1580941960.534346][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2032][1580941960.534371][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x5579b6d66890
[ODBC][2032][1580941960.534417][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x5579b6d66890
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2032][1580941960.534460][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2032][1580941960.534499][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x5579b6d66890
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = 0x2
			StrLen = -5
[ODBC][2032][1580941960.534525][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2032][1580941960.697293][SQLFreeHandle.c][219]
		Entry:
			Handle Type = 1
			Input Handle = 0x5579b6d66250
[ODBC][2040][1580941966.535940][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x563f6b77ce70
[ODBC][2040][1580941966.536009][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x563f6b77ce70
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2040][1580941966.536105][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2040][1580941966.536140][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x563f6b77ce70
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = (nil)
			StrLen = -5
[ODBC][2040][1580941966.536164][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2040][1580941966.536193][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x563f6b77f340
[ODBC][2040][1580941966.536218][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x563f6b77f340
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2040][1580941966.536241][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2040][1580941966.536264][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x563f6b77f340
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = 0x2
			StrLen = -5
[ODBC][2040][1580941966.536286][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2040][1580941966.536363][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x563f6b782250
[ODBC][2040][1580941966.536393][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x563f6b782250
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2040][1580941966.536416][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2040][1580941966.536440][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x563f6b782250
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = (nil)
			StrLen = -5
[ODBC][2040][1580941966.536462][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2040][1580941966.536487][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x563f6b782890
[ODBC][2040][1580941966.536511][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x563f6b782890
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2040][1580941966.536533][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2040][1580941966.536556][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x563f6b782890
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = 0x2
			StrLen = -5
[ODBC][2040][1580941966.536579][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2040][1580941966.685740][SQLFreeHandle.c][219]
		Entry:
			Handle Type = 1
			Input Handle = 0x563f6b782250
[ODBC][2073][1580941981.589486][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x555fe54afe20
[ODBC][2073][1580941981.589554][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x555fe54afe20
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2073][1580941981.589625][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2073][1580941981.589666][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x555fe54afe20
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = (nil)
			StrLen = -5
[ODBC][2073][1580941981.589689][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2073][1580941981.589729][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x555fe54b22f0
[ODBC][2073][1580941981.589780][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x555fe54b22f0
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2073][1580941981.589807][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2073][1580941981.589830][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x555fe54b22f0
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = 0x2
			StrLen = -5
[ODBC][2073][1580941981.589860][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2073][1580941981.589934][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x555fe54b5200
[ODBC][2073][1580941981.589965][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x555fe54b5200
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2073][1580941981.589987][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2073][1580941981.590011][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x555fe54b5200
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = (nil)
			StrLen = -5
[ODBC][2073][1580941981.590045][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2073][1580941981.590073][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x555fe54b5840
[ODBC][2075][1580941981.590062][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x55eac0fe7e70
[ODBC][2073][1580941981.590108][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x555fe54b5840
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2073][1580941981.590132][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2075][1580941981.590147][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55eac0fe7e70
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2073][1580941981.590154][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x555fe54b5840
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = 0x2
			StrLen = -5
[ODBC][2073][1580941981.590179][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2075][1580941981.590178][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2075][1580941981.590210][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55eac0fe7e70
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = (nil)
			StrLen = -5
[ODBC][2075][1580941981.590233][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2075][1580941981.590261][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x55eac0fea340
[ODBC][2075][1580941981.590286][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55eac0fea340
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2075][1580941981.590309][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2075][1580941981.590333][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55eac0fea340
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = 0x2
			StrLen = -5
[ODBC][2075][1580941981.590356][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2075][1580941981.590434][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x55eac0fed250
[ODBC][2075][1580941981.590465][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55eac0fed250
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2075][1580941981.590489][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2075][1580941981.590513][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55eac0fed250
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = (nil)
			StrLen = -5
[ODBC][2075][1580941981.590535][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2075][1580941981.590561][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x55eac0fed890
[ODBC][2075][1580941981.590585][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55eac0fed890
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2075][1580941981.590608][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2075][1580941981.590631][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55eac0fed890
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = 0x2
			StrLen = -5
[ODBC][2075][1580941981.590653][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2073][1580941981.591199][SQLFreeHandle.c][219]
		Entry:
			Handle Type = 1
			Input Handle = 0x555fe54b5200
[ODBC][2075][1580941981.731343][SQLFreeHandle.c][219]
		Entry:
			Handle Type = 1
			Input Handle = 0x55eac0fed250
[ODBC][2098][1580941987.598818][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x55c66812de70
[ODBC][2098][1580941987.598892][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55c66812de70
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2098][1580941987.598961][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2098][1580941987.598995][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55c66812de70
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = (nil)
			StrLen = -5
[ODBC][2098][1580941987.599020][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2098][1580941987.599070][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x55c668130340
[ODBC][2098][1580941987.599098][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55c668130340
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2098][1580941987.599121][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2098][1580941987.599144][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55c668130340
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = 0x2
			StrLen = -5
[ODBC][2098][1580941987.599191][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2098][1580941987.599291][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x55c668133250
[ODBC][2098][1580941987.599323][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55c668133250
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2098][1580941987.599346][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2098][1580941987.599380][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55c668133250
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = (nil)
			StrLen = -5
[ODBC][2098][1580941987.599404][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2098][1580941987.599431][__handles.c][460]
		Exit:[SQL_SUCCESS]
			Environment = 0x55c668133890
[ODBC][2098][1580941987.599456][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55c668133890
			Attribute = SQL_ATTR_ODBC_VERSION
			Value = 0x3
			StrLen = -6
[ODBC][2098][1580941987.599478][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2098][1580941987.599509][SQLSetEnvAttr.c][189]
		Entry:
			Environment = 0x55c668133890
			Attribute = SQL_ATTR_CONNECTION_POOLING
			Value = 0x2
			StrLen = -5
[ODBC][2098][1580941987.599531][SQLSetEnvAttr.c][363]
		Exit:[SQL_SUCCESS]
[ODBC][2098][1580941987.758600][SQLFreeHandle.c][219]
		Entry:
			Handle Type = 1
			Input Handle = 0x55c668133250
 [2020-02-06 09:19 UTC] cmb@php.net
Thank for the trace!  However, it doesn't show anything about the
actual query, and according to the timestamps, the trace covers a
period of 47 seconds; certainly much more than a minimal
reproducing script would take.

I would have expected something like
<https://gist.github.com/cmb69/1aeebde026f69a54bdde0957fbe882c2>.
 [2022-11-01 07:23 UTC] astrologerrahulgaur at gmail dot com
Our Vashikaran Specialists in India provide you with a wide range of services which are designed to improve your love life. There is no harm in enlisting the help of a highly trained person who has the necessary experience and expertise to help you achieve everything that you want in life.
 [2022-12-02 07:00 UTC] Don2563ckman at gmail dot com
What is the default encoding (the result of System.getProperty("file.encoding")) of your environment? I have tried getBytes() for all the Charset supported in Java.
(https://www.cuims.net/)github.com
 [2022-12-23 11:06 UTC] Max1967Jordan at gmail dot com
You really need a UTF-8 Library if you are going to work with UTF-8. However for this task I think something like this may suffice:

void pop_back_utf8(std::string& utf8)
{
    if(utf8.empty())
        return;

    auto cp = utf8.data() + utf8.size();
    while(--cp >= utf8.data() && ((*cp & 0b10000000) && !(*cp & 0b01000000))) {}
    if(cp >= utf8.data())
        utf8.resize(cp - utf8.data());
}

int main()
{
    std::string s = "κόσμε";

    while(!s.empty())
    {
        std::cout << s << '\n';
        pop_back_utf8(s);
    }
}

(https://www.fortivacreditcard.net/)github.com
 [2023-05-02 12:27 UTC] timsmith12 at aol dot com
(https://www.linkedin.com/pulse/augusta-precious-metals-review-best-gold-ira-company-jeffrey-keever/)github.com
(https://www.linkedin.com/pulse/goldco-review-gold-ira-rollover-precious-metal-company-jeffrey-keever/)github.com
(https://www.linkedin.com/pulse/how-apply-employee-retention-credit-erc-complete-guide-jeffrey-keever/)github.com
(https://www.linkedin.com/pulse/best-gold-ira-companies-investment-retirement-accounts-jeffrey-keever/)github.com
(https://www.linkedin.com/pulse/ira-allowable-precious-metals-best-ira-approved-metal-jeffrey-keever/)github.com
(https://www.linkedin.com/pulse/roth-gold-ira-account-best-companies-how-works-jeffrey-keever/)github.com
(https://www.linkedin.com/pulse/what-employee-retention-tax-credit-ertc-jeffrey-keever/)github.com
(https://www.linkedin.com/pulse/best-precious-metals-ira-2023-jeffrey-keever/)github.com
(https://www.linkedin.com/pulse/best-silver-ira-companies-2023-jeffrey-keever/)github.com
(https://www.linkedin.com/pulse/how-protect-your-401k-from-market-crash-recession-jeffrey-keever/)github.com
(https://www.linkedin.com/pulse/goldco-vs-augusta-precious-metals-which-best-gold-ira-jeffrey-keever/)github.com
(https://www.linkedin.com/pulse/how-move-401k-gold-ira-without-penalty-jeffrey-keever/)github.com 
(https://www.linkedin.com/pulse/how-buy-physical-gold-your-401k-jeffrey-keever/)github.com
(https://www.linkedin.com/pulse/noble-gold-investments-review-jeffrey-keever/)github.com
(https://www.linkedin.com/pulse/best-paying-jobs-precious-metals-jeffrey-keever/)github.com
(https://www.linkedin.com/pulse/how-buy-gold-ira-jeffrey-keever-1e/)github.com
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Nov 24 07:02:12 2024 UTC