2

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

私はローカルホストでワンプを使用しています。試してみ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);
4

2 に答える 2

0

WAMP を使用しているので、次のように PHP.ini ファイルを含めるか変更してみてください。

; PHP's default character set is set to empty.
; http://php.net/default-charset
default_charset = "utf-8"

文字セットの問題は、すべてが同じものを使用しているかどうかをエンドツーエンドでチェックすることで解決されていました (UTF-8 は shopify の場合です)。重要: 変更後に WAMP をリロードしてください。

于 2013-04-03T03:15:46.890 に答える
0

前提: @Sarke のコメントから始めるので、この質問には答えがあります。

あなたが試すことができます

$newproduct = array 
   ( 
      "product"=>array 
       ( 
           "title"=>"Product title (with ot without diacritics)", 
           "body_html"=>"Super Duper Plan", 
           "vendor"=>"Vendor", 
            "product_type"=>"Test" 
        ) 
    ); 

foreach($newproduct["product"] as $k => $v){
    $newproduct["product"][$k] = iconv("UTF-8", "ISO-8859-2", $v);
}

$newproduct 配列を ISO-8859-2 でエンコードされた値で作成し、shopify サーバーと一貫性を持たせます。

于 2012-07-01T22:17:17.357 に答える