我正在使用Shopify PHP API。沒有變音符號的產品工作正常,並被添加。當我試圖發送帶有捷克變音符號(ěščřžýáíé)產品,顯示錯誤:Shopify PHP API:支持變音符號
Fatal error: Uncaught exception 'ShopifyApiException' with message
'Unprocessable Entity' in C:\webdev\www\shopify-api-doporucene\shopify.php on line 32
ShopifyApiException: Unprocessable Entity in C:\webdev\www\shopify-api-doporucene\shopify.php on line 32
我在本地主機上使用WAMP。我試過json_encode
,但它不起作用。有誰知道我該如何解決這個問題?
我的PHP代碼(API密鑰從這個例子中刪除):
require 'shopify.php';
$shops_myshopify_domain = "hyatt-ryan2200.myshopify.com";
$api_key = "";
$shared_secret = "";
$shops_token = "";
// For regular apps:
$shopify = shopify_api_client($shops_myshopify_domain, $shops_token, $api_key, $shared_secret);
$newproduct = array
(
"product"=>array
(
"title"=>"Product title (works fine without diacritics)",
"body_html"=>"Super Duper Plan",
"vendor"=>"Vendor",
"product_type"=>"Test"
)
);
// All requests accept an optional fourth parameter, that is populated with the response headers.
$senditem = $shopify('POST', '/admin/products.json', $newproduct, $response_headers);
您是否嘗試修改'title'以在PHP中包含重音字符?我假設您的問題是產品名稱來自AJAX操作 - 這可能會破壞您的UTF-8數據。另外檢查一下,如果你的PHP文件中包含UTF8字符串,那麼它將以UTF-8編碼 - 請檢查你的編輯器。 – halfer
產品在PHP文件中(參見上面的$ newproduct)。 Ediotor設置爲UTF-8。當我用記事本打開它並將它保存到UTF8時,有一些廢話通過API發送到eShop:「Testovacu00ed zbou017eu00ed」(originalTestovacízboží「)。 – RadimH
啊,它使用JSON進行服務器到服務器的通信。 'print_r($ newproduct)'並將其輸出到瀏覽器(希望你也有一個UTF-8渲染!)以查看它是否看起來不錯。在這個變量上使用'json_encode'實際上有什麼區別? – halfer