// Adds dimensions UUID, Author and Topic into GA4
Saturday, July 11, 2026
30.5 C
Singapore

China denies allegations of forced labour at Shanghai prison

China Monday denied allegations that prisoners were being used for forced labour, after a British newspaper reported that a London schoolgirl found a message in a Christmas card claiming to be from inmates at Shanghai’s Qingpu Prison.

Supermarket giant Tesco said at the weekend it had stopped production at a factory in China after one of its charity cards was found to contain a cry for help from a prisoner who made it, according to the Sunday Times newspaper.

But Beijing rebuffed the claims, which it said were “made up”.

“I can tell you responsibly that, after seeking clarification from relevant departments, Shanghai Qingpu prison does not at all have … forced labour by foreign convicts,” said foreign ministry spokesman Geng Shuang at a regular press briefing in Beijing.

Geng also attacked former journalist Peter Humphrey who wrote the article — who was himself detained in Qinqpu prison until his release in 2015 — and said he had invented a “farce” to “hype himself up”.

The note written in the card asked the person who found it to contact Humphrey, which the schoolgirl’s father did. Humphrey then took the story to the Sunday Times.

“We are foreign prisoners in Shanghai Qingpu Prison China,” said the message, in a charity card featuring a kitten in a Santa hat

“Forced to work against our will. Please help us and notify human rights organisation.”

© Agence France-Presse

- Advertisement -

Hot this week

‘Career path is a long marathon’: Tenured tech workers advise burnt out young engineer dissatisfied with his pay

"Career path is a long marathon. If you always compare then you will always feel unsatisfied," the tenured tech worker said.

Singaporean says S$2.77 polyclinic bill shows why he appreciates Singapore’s healthcare system

"I had to file for bankruptcy after my polyclinic visit today. I sat down with a doctor to review my blood test results, took my annual flu shot, and braced myself for the financial ruin. The fina...

Popular Categories

document.addEventListener("DOMContentLoaded", () => { const trigger = document.getElementById("ads-trigger"); if ('IntersectionObserver' in window && trigger) { const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { lazyLoader(); // You should define lazyLoader() elsewhere or inline here observer.unobserve(entry.target); // Run once } }); }, { rootMargin: '800px', threshold: 0.1 }); observer.observe(trigger); } else { // Fallback setTimeout(lazyLoader, 3000); } });
// //
Enable Notifications OK No thanks