The euro extended its gains, testing two-month highs, on Friday as traders waited for US President Donald Trump's response to China's tightening control over Hong Kong, which could worsen tensions between the two over the financial hub.
Earlier, the yen rose against major currencies as investors looked for safe havens before Trump's response to China's passing of a national security law for Hong Kong.
"I think the market is still fearful that it might escalate into something more serious. If he was serious with trade tariffs, that would have a meaningful impact", said Moh Siong Sim, a currency strategist at Bank of Singapore.
"You can never quite predict Trump. But I think this year it's really difficult for him to do tough action", he added, referring to the dire state of the US economy.
Offshore, the yuan edged up 0.17% and traded at 7.1586 per dollar, not far from the nine-month low of 7.1965 yuan per dollar reached on Wednesday.
The euro, which got a boost from the European Commission's stimulus plan announced earlier this week, rose 0.6% to $1.1140, just beneath the 1.1148 reached on March 30. Going over that level would take the currency to its highest since March 17.
The euro rose as data showed that euro inflation continued to slow on crashing oil prices but underlying price growth held steady, a hopeful sign for European Central Bank policymakers trying to stave off deflation.
The euro was headed for its second weekly gain and its fourth day up after the 750 billion-euro coronavirus recovery fund fuelled optimism about the euro zone economy.
"The European stimulus fund is perhaps the real driver of the common currency as it gives hope of a more functional future for the European Union and for the euro in particular", wrote ActivTrades analyst Ricardo Evangelista.
Euro-dollar one-month risk reversals also showed that the cost of betting on a euro upside versus the dollar in options markets is now more expensive than betting on a euro weakness. Elsewhere, the dollar fell 0.4% against the Japanese currency at 107.16 yen.